浏览器兼容问题?var w=document.body.clientWidth; var h=document.body.clientHeight; document.write(w+"*"+h+"<br>");

来源:9-18 浏览器窗口可视区域大小

没有星星啊

2016-07-16 16:59

var w=document.body.clientWidth;

var h=document.body.clientHeight;

document.write(w+"*"+h+"<br>");

这个在我浏览器显示的是 1350*0


var w=document.documentElement.clientWidth||document.body.clientWidth;

var h=document.documentElement.clientHeight||document.body.clientHeight;

document.write(w+"*"+h+"<br>")


var w=document.documentElement.clientWidth;

var h=document.documentElement.clientHeight;

document.write(w+"*"+h+"<br>")


var w=window.innerWidth;

var h=window.innerHeight;

document.write(w+"*"+h+"<br>")

这三个方法在我浏览器上显示的都是 1366*668

这是浏览器兼容问题么,差别也太大了吧,求教~~~

写回答 关注

2回答

  • 迷途的鼹鼠
    2018-02-09 13:42:04

    这个不是浏览器兼容问题,如果我没猜错的话,你这是个空的HTML页面

    解决方案:    加一个css body{ height: 100%;}

    原因:document.documentElement.clientHeight 是获取文档的高度,它是有默认高度的,等于窗口高度,也是height:100%;而document.body.clientHeight 是获取body元素的高度,它也是有默认高度,只不过是随内容高度而撑开,是height:auto;body元素又是一个块级元素,默认宽度100%。而你那是个空的HTML页面,所以得到的结果是1350*0

    纯手打,望采纳~

  • 梦易醒
    2016-07-16 17:15:54

    var clientWidth = document.documentElement.clientWidth || document.body.clientWidth;

    var clientHeight = document.documentElement.clientHeight|| document.body.clientHeight;

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题