我将函数绑定(bind)到 resize 和 orientationchange 事件。在这个函数中,我试图读取 windowwith。 Iphone 总是给我正确的尺寸,但 Android 设备(2.2、2.3 和 4.0)似乎在实际更改窗口尺寸之前触发事件。所以我总是得到最后的窗口大小而不是最新的。有什么方法(没有超时)来获得正确的窗口大小吗?
我尝试了以下属性/函数: $(窗口).innerWidth(真) $(窗口).outerWidth(真) 屏幕宽度 $(窗口).宽度()
他们都没有给出正确的宽度。
有什么建议吗?
最佳答案
幸运的是,当 onorientationchange 事件触发时 window.orientation 已经更新。因此,作为一种解决方法,我打开了它:
switch(window.orientation) {
case 90:
case -90: // portrait;
h = Math.max(window.innerWidth, window.innerHeight);
w = Math.min(window.innerWidth, window.innerHeight);
break;
default: // landscape
h = Math.min(window.innerWidth, window.innerHeight);
w = Math.max(window.innerWidth, window.innerHeight);
break;
}
不理想,但它有效。
关于javascript - 在 Android 的调整大小或方向更改事件后获取正确的窗口宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10531072/