我将函数绑定到resize和orientationchange事件。在这个函数中我试图读取windowwith。 Iphone总是给我正确的尺寸,但Android设备(2.2,2.3和4.0)似乎在实际更改windowssize之前触发事件。所以我总是得到最后的windowsize而不是最新的。是否有某种方式(没有超时)来获得正确的窗口大小?
我尝试了以下属性/功能: $(窗口).innerWidth(真) $(窗口).outerWidth(真) screen.width $(窗口).WIDTH()
他们都没有给出正确的宽度。
有什么建议吗?
答案 0 :(得分:3)
幸运的是,当onorientation事件触发时,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;
}
不理想,但有效。