文档大小是浏览器兼容性的噩梦,因为尽管所有浏览器都公开了clientHeight和scrollHeight属性,但它们并不都同意如何计算值。
关于如何测试正确的高度/宽度,曾经有一个复杂的最佳实践公式。这涉及使用document.documentElement属性(如果可用)或依靠文档属性等。
获取正确高度的最简单方法是获取文档或documentElement上找到的所有高度值,并使用最高的值。基本上,这就是jQuery的作用:
var body = document.body, html = document.documentElement;var height = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );
使用Firebug + jQuery小书签进行的快速测试将为两个引用的页面返回正确的高度,代码示例也是如此。
请注意,在文档准备好之前测试文档的高度将始终为0。此外,如果您在其中加载了更多内容,或者用户调整了窗口的大小,则可能需要重新测试。如果在加载时需要此事件,请使用
onload或文档就绪事件,否则,只要需要此编号,就进行测试。



