每当用户旋转手机时,我都需要读取 DIV 的像素宽度。在 iOS 上,以下代码将在方向完成后打印出 DIV 的宽度。但是,在 Android 上,代码将在方向开始之前打印出 DIV 的宽度。
HTML
<body>
<div id="foo" style="width: 80%">foo</div>
</body>
JS
window.onorientationchange = function() {
alert($('foo').getWidth());
}
例如,用户以纵向模式启动。他旋转到横向模式。在 Android 上,代码将打印出旧的较窄宽度,而 iOS 将打印出新的较宽宽度。
如何让 Android 像 iOS 一样运行? after 宽度在我的 Web 应用程序中对我很重要。 before 宽度对我没用。
最佳答案
一个快速而肮脏的解决方案是使用计时器。您可以继续开发,直到出现更合适的解决方案。
编辑:刚刚认识到在 android 上 onorientationchange 事件在调整大小事件之前触发,这与 ipad 的行为不同。检查 Android 手机上的调整大小事件,这是否提供了正确的宽度?
关于javascript - Android onOrientationChange 在方向完成之前触发(太早),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305139/