为什么$(window).height()这么错?

我正在尝试使用获取当前浏览器视口高度

$(window).on('resize',function() { console.log("new height is: "+$(window).height()); }); 

但我得到的价值太低了。 当视口大约850px高时,我从高度()获得大约350或400px的值。 这是怎么回事?

示例: http : //jsfiddle.net/forgetcolor/SVqx9/

一个可能的原因可能是您正在使用firebug /其他东西检查控制台。 因此,由于萤火虫的高度,您的窗户高度不正确。

你可以尝试这样的事情:

在你的文档中取一个span / div:

  

然后

 $(window).on('resize',function() { $('#res').html("new height is: "+$(window).height()); }); 

或者如果你想检查放入firebug控制台,然后从浏览器中分离它,然后检查结果。

我在Firefox中遇到了同样的问题然后我在我的索引上添加了并且它工作正常。

资料来源: http : //viralpatel.net/blogs/jquery-window-height-incorrect/

对于那些在上述解决方案后仍有问题的人……

请检查浏览器到project.html的查看率。

调整视图比率时,$(window).height()的值与客户区的“实际”像素不同! (等等其他人$(xx).width()……在这种情况下)

(浏览器记得我前几天调整了不小心的110%……)

没有repro。 请记住,浏览器的镶边中的项目会缩小窗口高度,例如地址栏,开发人员工具,书签工具栏等。 以下内容似乎显示视口高度的准确表示:

jsbin会给你一个很好的窗口高度估计,因为它不会像其他js测试站点(如jsfiddle)那样将代码输出限制为小iframe。

http://jsbin.com/otaqej/edit#javascript,html

       
Height: 0

JSFiddle通过创建在呈现代码后动态加载的来工作。

你的JavaScript正在计算窗口的高度,恰好是的高度,对我来说这个高度大约是400px。

你的代码正在做它应该做的事情。