javascript - 获取网页主体或窗口的高度和宽度

标签 javascript jquery html

根据我所处的 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/

相关文章:

html - 如何在 Pardot 中将表单居中?

html - 带边框的 5 Angular CSS 元素

javascript - 用户 3 上的 Joomla 下拉菜单。在 Joomla 上实现下拉菜单的最佳方式是什么?

javascript - 谷歌地理API : How to handle if the client denied permission

php - jquery ajax返回整页内容

javascript - 带有固定导航栏的图像顶部的 HTML/CSS 图像

javascript - 呈现模板时的 AngularJS 指令

javascript - 我可以设置 Javascript 对象的类型吗?

jquery - 屏蔽输入插件和正则表达式(对于十进制数字)

jquery - $(window).height() 与 $(document).height