我有以下网页:
只有垂直滚动条且没有水平滚动条的高大网页。因此文档和窗口具有相同的宽度。
当我向IE8询问$(document).width()
时,它会返回包含垂直滚动条的视口宽度。 FF返回正确答案。
我不能使用$('body')
,因为它返回与窗口对象相同的宽度(它以某种方式设置为100%,因此当页面变小时它不起作用。)
如何让IE8输出正确的值?提前谢谢。
更新
我实际上对我的问题做了一些测试。我发现当水平滚动条也变得可见时(由于窗口较小),IE8的尺寸合适。所以这使我的问题变得更加复杂,因为我无法设置一个丑陋的if(IE8)
- 黑客。
UPDATE2
问题在于我的CSS和jQuery。 实际情况似乎是问题: 我的css说:
body
{
overflow-y:scroll;
}
IE8并不算作身体的一部分,但IE7确实如此。如何解决这个问题?调用jQuery进行修复?
答案 0 :(得分:1)
我把这个问题交给jQuery工作人员:http://bugs.jquery.com/ticket/8048。
他们认为这不是一个错误。他们的建议是使用$('body').width()
。这确实是我的工作。
我仍然觉得奇怪的是,IE8中的主体已调整为滚动条,但$(document).width()
保持不变。我用这个jsFiddle进行测试。它会产生同样的故障,但是jQuery认为没关系,因为W3C没有说出任何关于它的东西......或类似的东西。