首页 > 开发 > JS > 正文

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

2017-09-05 13:02:26  来源:网友分享

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

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

解决方案

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

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