2013-05-05 89 views
0

我试图让使用JavaScript网页的总高度如下互联网资源管理器,总网页的高度为“0”

var pageHeight = (document.height !== undefined) ? document.height : document.body.offsetHeight;

工作正常,我在其他浏览器,但Internet Explorer的返回值“0 ' 为了它。为什么?

+1

哪个版本IE?他们的版本是不同的黑色和白色.. – techfoobar 2013-05-05 12:07:41

+0

@techfoobar IE 10.最新的一个! – 2013-05-05 12:10:43

+0

您的代码在IE9和IE10中都能正常工作,请参阅[this fiddle](http://jsfiddle.net/9gpht/1/)。我认为造成混淆的原因是所有的浏览器对'offsetHeight'的含义都不一样 - 它与视口不一样,我想你正在寻找。 – 2013-05-05 12:11:08

回答

2

这应该在所有的浏览器:

var pageHeight = Math.max(document.height, document.body.scrollHeight, 
    document.body.offsetHeight); 

文件被加载后,不要忘了执行代码。

编辑:我让这个希望它的作品,但我没有办法在所有浏览器中测试它,我不是100%确定。它是根据jQuery的源代码改编的。

+1

+1这是跨浏览器极端.. – techfoobar 2013-05-05 12:12:11

+0

@dystroy抛出NaN警报:( – 2013-05-05 12:21:09

+0

为文件加载后的执行代码,我认为它被照顾,因为它在其他浏览器 – 2013-05-05 12:22:34