javascript - 在 Android 的调整大小或方向更改事件后获取正确的窗口宽度

标签 javascript jquery android

我将函数绑定(bind)到 resize 和 orientationchange 事件。在这个函数中,我试图读取 windowwith。 Iphone 总是给我正确的尺寸,但 Android 设备(2.2、2.3 和 4.0)似乎在实际更改窗口尺寸之前触发事件。所以我总是得到最后的窗口大小而不是最新的。有什么方法(没有超时)来获得正确的窗口大小吗?

我尝试了以下属性/函数: $(窗口).innerWidth(真) $(窗口).outerWidth(真) 屏幕宽度 $(窗口).宽度()

他们都没有给出正确的宽度。

有什么建议吗?

最佳答案

幸运的是,当 onorientationchange 事件触发时 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;
}

不理想,但它有效。

关于javascript - 在 Android 的调整大小或方向更改事件后获取正确的窗口宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10531072/

相关文章:

android - 从现有源创建新项目时出现 Eclipse "Invalid Project Description"

javascript - 终极版 : form input fields stay blank

javascript - Webpack:隐藏一些由 webpack --display-modules --display-reasons 打印的模块

javascript - Jquery 在提交时验证多个输入

javascript - 如何定位选择元素并应用自定义功能?

android - 使用自己的帐户类型从我的应用程序注销的最佳方法

javascript - 如果我希望 box2 在 mouseon 上将颜色更改为红色,这样使用 setAttribute 是否正确?

javascript - Angularjs - 谷歌地图设置多个标记的缩放

javascript - 如何在悬停时淡入淡出?

java - Android 的监听器构造可以在 Windows Phone 中使用吗?