我目前正在使用
$(window).height()
计算高度。 这在iphone / ipad上运行良好
当我启动时 Galaxy S2运行android 2.3.5
我开始得到一些奇怪的结果......
第一次加载页面并在
上调用$(window).height()
$().ready(function(){...
我得到了正确的结果(无论手机是垂直还是水平)
只要我将手机旋转到水平位置,它就会报告正确的高度
将手机从水平旋转到垂直时会出现问题
电话报告一个完全不正确的身高值
现在我尝试使用这些值来查看是否有任何值是正确的
screen.height
screen.availHeight
但结果仍然相同
我正在使用此方法来检测旋转
var previousOrientation = 0;
var checkOrientation = function(){
if(window.orientation !== previousOrientation){
previousOrientation = window.orientation;
// orientation changed, do your magic here
}
};
window.addEventListener("resize", checkOrientation, false);
window.addEventListener("orientationchange", checkOrientation, false);
// (optional) Android doesn't always fire orientationChange on 180 degree turns
setInterval(checkOrientation, 2000);
答案 0 :(得分:7)
Android浏览器中的屏幕尺寸和innerHeight实际上是f.u.b.a.r.特别是与一个错误相结合,有时会导致WebView在关闭键盘时不调整大小。 我发现Android最健全的属性是window.outerHeight。在Android上,它通常会报告屏幕高度减去状态栏高度。但是在iOS上不会这样做,所以你可能需要做一些浏览器嗅探;(