【发布时间】:2013-04-01 09:34:46
【问题描述】:
有没有办法使用 JavaScript 或其他基于浏览器的语言获取 iOS device 版本(相对于 OS 版本)?例如; iPhone5、iPhone 4S、iPad 3 等
我无法在navigator.userAgent(或navigator 的任何方法)中找到此信息,因为它只报告操作系统版本(而不是使用的设备)。例如,运行 6.1.3 的 iPhone5 有这个用户代理:
"Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25"
还有运行 6.1.3 的 iPhone4:
"Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25"
我能找到的最好的方法是使用 screen.width 和 screen.height,因为这至少可以让我区分 iPhone5、iPhone4 和前几代产品。
【问题讨论】:
-
抱歉,我现在无法检查这个,因为我目前没有 IOS 设备,但您可以检查导航器中的其他变量,例如 navigator.appName、navigator.platform、navigator.product、navigator.vendor、等等看看有没有区别。
-
为什么需要这样做?如果浏览器具有相同的功能,那么谁在乎呢?如果浏览器没有相同的功能,那么您可以使用 JavaScript 中的标准对象检测方法来判断。基于用户代理更改功能不是最佳做法。
-
它不是为了改变功能,而是为了一个基于网络的分析解决方案。
标签: javascript iphone device