javascript - js如何跨浏览器获取浏览器视口大小?
怪我咯
怪我咯 2017-04-11 12:22:20
[JavaScript讨论组]

根据js高程上的代码:

var pageHeight = window.innerHeight;
if (typeof pageHeight != "number") {
    if (document.compatMode == 'CSS1Compat') {
        pageHeight = document.documentElement.clientHeight;
    } else {
        pageHeight = document.body.clientHeight;
    }
}

这段代码在firefox、chrome上获取的是window.innerHeght,但是在ie上:

  • ie9~11:window.innerHeight 985px

  • ie7、8:document.body.clientHeight 24px

  • ie5:document.body.clientHeight 981px

在ie7、8上的document.body.clientHeight实际上只是body的高度,不是整个浏览器视口的高度。

到底有什么方法能够跨浏览器获取浏览器页面高度?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
PHP中文网
document.documentElement.clientHeight 

手边没ie7、8没法测试效果。
但是一般我们做此设置

html,body{
    width:100%;
    height:100%
}

然后用document.body.clientHeight就行了

然后高程上document.compatMode == 'CSS1Compat'内的应该是针对doctype声明不是!doctype html的。所以ie7、8还是会走else。你可以加个断点或者console.log试试

ringa_lee

同问 !!!!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号