我遇到了一个奇怪的问题,似乎是各种版本的Webkit浏览器.我试图将一个元素放在屏幕的中心并进行计算,我需要得到各种尺寸,特别是身体的高度和屏幕的高度.在jQuery我一直在使用:
var bodyHeight = $('body').height();
var screenHeight = $(window).height();
Run Code Online (Sandbox Code Playgroud)
我的页面通常比实际视口高很多,所以当我'警告'那些变量时,bodyHeight最终会变大,而screenHeight应该保持不变(浏览器视口的高度).
这是真的 - Firefox - Chrome 15(哇!Chrome什么时候进入15版?) - iOS5上的Safari
这不适用于: - iOS4上的Safari - Safari 5.0.4
在后两者上,$(window).height();
始终返回相同的值$('body').height()
认为它可能是一个jQuery问题,我换掉了窗口高度window.outerHeight
但是,它也做了同样的事情,让我觉得这实际上是某种webkit问题.
有没有人碰到这个并知道解决这个问题的方法?
为了使事情复杂化,我似乎无法孤立地复制这一点.例如:http://jsbin.com/omogap/3工作正常.
我已经确定这不是一个CSS问题,所以也许还有其他JS对我需要找到的特定浏览器造成严重破坏.