首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取网页正文或窗口的高度和宽度

获取网页正文或窗口的高度和宽度
EN

Stack Overflow用户
提问于 2010-07-20 16:57:12
回答 3查看 69.8K关注 0票数 18

根据我所处的IE8模式(怪癖模式还是标准模式),我会得到不同的高度和宽度值。我尝试过标准的javascript和jquery,但它们返回的结果不同。

奇怪的是

代码语言:javascript
复制
$('body').width = 1239  
$('body').height = 184  
document.body.clientWidth = 1231  
document.body.clientHeight = 176  

在标准中

代码语言:javascript
复制
$('body').width = 1260  
$('body').height = 182  
document.body.clientWidth = 1254  
document.body.clientHeight = 176

任何想法如何通过IE8模式获得一个不变的值。

在adv中谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-20 17:44:43

也许这个问题是由于滚动条被包含在宽度和高度中,而不管它们是否存在。我没有IE (在mac上),所以无法验证。

然而,我可以告诉你在我的项目jQuery Lightbox中什么是有效的,我没有这样的问题。我们在其中使用了以下代码:

代码语言:javascript
复制
// 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();

并且覆盖图正确显示。与原生结果相比,我相信jQuery的宽度和高度结果,因为jQuery自然应该考虑到浏览器的任何怪癖。

值得注意的是,由于某些原因,上面的lightbox脚本倾向于使用$(document)而不是$(document.body) --我不记得对不起:O --所以也许这也解决了这个问题?

票数 10
EN

Stack Overflow用户

发布于 2010-07-20 17:31:12

只是一个快速拍摄。试着给你的身体#页:

代码语言:javascript
复制
function getPageHeight() {
    var pageHeight = document.getElementById('page').offsetHeight;
    var pageWidth = document.getElementById('page').offsetWidth;

    alert(pageHeight);
    alert(pageWidth);
}
票数 7
EN

Stack Overflow用户

发布于 2013-01-09 15:30:52

试试这个:

代码语言:javascript
复制
var viewport = {
    width : $(window).width(),
    height : $(window).height()
};

var width = viewport.width;
var height = viewport.height;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3288397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档