javascript - 使用 Javascript 为 Android(Nexus 7 平板电脑)获取正确的设备显示宽度

标签 javascript android tablet

screen.width 和 .height 应该包含平板电脑的屏幕分辨率(以设备像素为单位),并且应该在设备方向改变时改变(引用,参见 http://www.quirksmode.org/mobile/tableViewport.html )。但是,对于 Nexus 7 Android 平板电脑,无论方向如何,这些值始终为 screen.width = 1280 和 screen.height = 736。 736 的高度允许 64 像素的状态栏(实际屏幕高度 = 800 像素)。

在纵向模式下翻转这些值很容易 (window.orientation=== 0 || window.orientation=== 180),宽度为 736,高度为 1280,但由于状态栏位于顶部,正确的值应该是 800 x 1216。

在 Nexus 7 等 Android 设备上,是否有一种通用/最佳实践方法来获取以设备像素为单位的屏幕宽度?我知道 window.outerWidth,但注意到它有时不正确。方向改变时无法交换宽度和高度是所有 Android 设备的通病吗?

最佳答案

我也在为 Nexus 7 屏幕尺寸而苦苦挣扎,但是您最好获取文档或窗口的实际浏览器尺寸,这些会根据方向自行调整。

这个网站对它的解释做得更好http://responsejs.com/labs/dimensions/

关于javascript - 使用 Javascript 为 Android(Nexus 7 平板电脑)获取正确的设备显示宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13245454/

相关文章:

javascript - 在 JavaScript 中将字符串与今天的日期进行比较

android - 在 android 中使用 HostName 时获取 java.net.UnknownHostException

android - Ruby 是一种有用的编程语言吗?

c# - Windows 7平板电脑的指纹识别C# winform

android - 如何获取使用 Volley ImageLoader 下载的缓存位图?

javascript - HTML Mobile - 强制隐藏软键盘

javascript - 如何在规范化输出中返回两个规范化值的总和

javascript - 选择所有不触发其各自 .change 功能的复选框

javascript - 如何在 lodash forEach 中使用 Promise all 并解决它并执行 res.send(data)

android - Safari 中的边距很烦人?