您好,匿名用户
随意问技术百科期待您的加入

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

0 投票

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

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

用户头像 提问 2012年 12月1日 @ LeBlanc 上等兵 (289 威望)
分享到:

1个回答

0 投票
 
最佳答案

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

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

用户头像 回复 2012年 12月1日 @ Malzahar 上等兵 (335 威望)
选中 2012年 12月1日 @LeBlanc
提一个问题:

相关问题

+3 投票
2 回复 53 阅读
0 投票
1 回复 36 阅读
+1 投票
1 回复 39 阅读
用户头像 提问 2013年 9月10日 @ Miss Fortune 上等兵 (418 威望)
0 投票
1 回复 38 阅读
用户头像 提问 2013年 11月19日 @ Taric 上等兵 (184 威望)
0 投票
1 回复 47 阅读
用户头像 提问 2012年 12月1日 @ Orianna 上等兵 (193 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...