javascript - 使用 JavaScript 查找高清设备的屏幕宽度

标签 javascript android html ios css

我需要使用 JavaScript 查找设备的屏幕宽度,我无法更改 html 并且不想在这样做之前注入(inject) meta viewport 标记。本质上,我需要检测设备宽度是否低于 600px(以 CSS 像素为单位)。

我看过various recommendations但不幸的是,我在 iOS Safari 和默认的 Android 浏览器之间发现了不同的行为:

Command                                           iPhone4     GalaxyS3
------------------------------------------------------------------------
window.devicePixelRatio                           2           2      
window.innerWidth                                 982         626  
window.outerWidth                                 326         720
screen.width                                      320         720 
screen.availWidth                                 320         720  
matchMedia('(max-width: 599px)').matches          false       false
matchMedia('(max-device-width: 599px)').matches   true        false

不幸的是,上述值的不一致意味着我似乎无法使用 JavaScript 来做到这一点(例如,我可以在 Android 上将 screen.width 除以 window.devicePixelRatio,但在 iOS 上这将是不正确的)。

是否有一种可靠的跨浏览器方式来做到这一点?

最佳答案

您可以尝试使用 Verge视口(viewport)实用程序。它是一个开源库。然后你可以简单地使用:

$.viewportW() // Get the viewport width in pixels.

希望这对您有所帮助!

关于javascript - 使用 JavaScript 查找高清设备的屏幕宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20354971/

相关文章:

html - OpenLayers 3 - MousePosition 悬停问题

javascript - ajax 成功重新加载 div 内容不起作用

javascript - Angular.js - Google 自动完成事件触发时清除文本框?

android - 如何以编程方式打开 Samsung Android 我的文件中的特定路径

android - 在 Android 中设置默认用户代理?

javascript - 隐藏时停止在后台自动播放Youtube视频

javascript - jQuery 将多个事件绑定(bind)到一个选择器

javascript - ReactNative : Cannot update during an existing state transition (such as within `render` ). 渲染方法应该是 Prop 和状态的纯函数

java - 如何在 Android 设备上将 WAV 编码为 mp3

javascript - jQuery:动画 slider 寻呼机