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

时间:2011-11-29 02:32:34

标签: 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一样?在我的Web应用程序中, 宽度对我来说非常重要。 之前的宽度对我来说毫无用处。

1 个答案:

答案 0 :(得分:0)

快速而肮脏的解决方案是使用计时器。你可以继续开发,直到出现更合适的解决方案。

编辑:刚认识到在android上onorientationchange事件在resize事件之前被触发,这与ipads行为不同。检查android手机上的resize事件,这是否提供了正确的宽度?