根据我所处的 IE8 模式(怪癖或标准),我得到不同的高度和宽度值。我试过标准的 javascript 和 jquery,但都返回不同的结果。
怪癖
$('body').width = 1239
$('body').height = 184
document.body.clientWidth = 1231
document.body.clientHeight = 176
在标准中
$('body').width = 1260
$('body').height = 182
document.body.clientWidth = 1254
document.body.clientHeight = 176
任何想法如何通过 IE8 的模式获取不变的值。
感谢副词。
最佳答案
问题可能是由于滚动条包含在宽度和高度中,无论它们是否存在。我没有 IE(在 Mac 上)所以无法验证。
但是,我可以告诉你什么在我的项目中有效 jQuery Lightbox我没有这样的问题。我们在其中使用以下代码:
// Make the overlay the size of the body
var $body = $(this.ie6 ? document.body : document); // using document in ie6 causes a crash
$('#lightbox-overlay').css({
width: $body.width(),
height: $body.height()
});
// ... some code ...
// Get the window dimensions
var $window = $(window);
var wWidth = $window.width();
var wHeight = $window.height();
并且叠加层显示正确。与 native 结果相比,我相信 jQuery 的宽度和高度结果,因为 jQuery 自然应该考虑浏览器的任何怪癖。
请务必注意,出于某种原因,上面的灯箱脚本倾向于使用 $(document)
而不是 $(document.body)
- 我不记得了抱歉 :O - 所以也许这也能解决问题?
关于javascript - 获取网页主体或窗口的高度和宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3288397/