开发者社区> 问答> 正文

javascript如何在所有浏览器中获取网页高度 scrollHeight? offsetHeight? clientHeight?

我们知道dom文档里有这三种高度,如果我要获取一个网页的真实高度,那么应该如何获取呢?以前我一直用document.body.scrollHeight来获取,但是我发现在Opera浏览器中获取的高度,比实际高度要小一截。我还没测试过除了Chrome和Firefox以外的其它浏览器,不知道是不是还有什么例外情况。

不知道大家有没有什么通用的办法能获取浏览器中网页的实际高度,当然要所有浏览器都适用。

展开
收起
杨冬芳 2016-06-14 13:09:35 2405 0
1 条回答
写回答
取消 提交回答
  • IT从业

    获取文档的高度,如果文档高度小于视口高度,则取视口的高度

    function getDocHeight() {
        var D = document;
        return Math.max(
            Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
            Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
            Math.max(D.body.clientHeight, D.documentElement.clientHeight)
        );
    }

    如果不需要判断body高度小于文档高度的情况,则去掉里面的三个max判断吧

    2019-07-17 19:37:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载