如何在iPad屏幕旋转后获得新的窗口大小?

时间:2017-07-21 18:18:04

标签: javascript html ipad mobile

我试图在用户旋转屏幕时更改网页中元素的大小(特别是对于iPad,但也适用于所有移动设备)。新尺寸将根据新的屏幕尺寸计算。

我尝试过使用window.onresize = myFcn;,但调整大小的事件并没有在我的iPad上正确启动。

我已尝试使用window.onorientationchange = myFcn;,但事件在屏幕的实际尺寸发生变化之前被触发,因此我无法使用它们来确定表格的正确新尺寸。

我已尝试使用setTimeout(myFcn, 50),如我在读到的SO答案中所建议的那样,但这只会创建一个无限循环,因为尺寸在循环运行时不会发生变化。

如何在方向更改后获得新的屏幕尺寸?

1 个答案:

答案 0 :(得分:1)

如果你将2和3组合在一起,那么设备可以在50ms内完成方向改变(如果它不够,你可以增加它)。

window.onorientationchange = function () {
  setTimeout(myFcn, 50);
};