javascript - Android onOrientationChange 在方向完成之前触发(太早)

标签 javascript android webkit prototypejs

每当用户旋转手机时,我都需要读取 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/

相关文章:

java - Android中如何确定两个 View 的公共(public)父 View

android - Cast 应用程序中的 "GoogleApiClient is not connected yet"异常

css - 鼠标在导航滚动页面上滚动

javascript - 如何在redux reducer 中的对象的嵌套数组中添加项目

android - 使用 Android 的指纹扫描仪进行应用

c# - WebKit.NET 与 C# 项目运行时异常

css - 为什么 'transform: scale()' 上的过渡会使元素在 webkit 浏览器中变得像素化?

javascript - 使用输入文本字段通过 Javascript 动态更改函数中的值

javascript - 基本 openUI5 分割 View 应用程序

javascript - 是否有可能以某种方式替换作为函数参数的原始对象?