javascript - js如何跨浏览器获取浏览器视口大小?

 ndo2205188 发布于 2022-11-10 13:08

根据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 个回答
  • 同问 !!!!

    2022-11-12 01:46 回答
  • 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试试

    2022-11-12 01:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有