html - javascript如何在所有浏览器中获取网页高度 scrollHeight? offsetHeight? clientHeight?
怪我咯
怪我咯 2017-04-10 12:42:29
0
1
560

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

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

怪我咯
怪我咯

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

reply all(1)
Ty80

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

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判断吧

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template