如何使用JavaScript获取iOS设备版本?
有没有办法使用JavaScript或其他基于浏览器的语言获取iOS 设备版本(而不是OS版本)?例如; iPhone5,iPhone 4S,iPad 3等如何使用JavaScript获取iOS设备版本?
我一直无法找到navigator.userAgent
(或任何方法navigator
)中的此信息,因为它只报告操作系统版本(而不是使用的设备)。举例来说,iPhone5的运行6.1.3有这个用户代理:
"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"
而一个iPhone4的运行6.1.3:
"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和前几代。
你不行。您可以找到iPhone
或iPad
以及该设备运行的是哪个版本的iOS,但是找不到型号名称,例如iPhone 4
。
谢谢。我希望有办法做到这一点,但看起来你是绝对正确的。 – Gigazelle 2013-04-19 15:38:20
这一个对我的作品
var iOS = parseFloat(('' + (/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent) || [0,''])[1]) .replace('undefined', '3_2').replace('_', '.').replace('_', '')) || false;
它在iPhone上回10.3
抱歉,我现在不能选中此项,因为我不现在有一个IOS设备在我身边,但你可以在其他变量检查navigator.appName,navigator.platform,navigator.product,navigator.vendor等浏览器,看看是否有任何区别。 – 2013-04-09 19:25:00
你为什么需要这样做?如果浏览器具有相同的功能,那么谁在乎呢?如果浏览器不具备相同的功能,那么您可以在JavaScript中使用标准对象检测方法。基于用户代理改变功能不是最佳实践。 – ErikE 2013-04-09 20:01:06
它不是用于更改功能,而是用于基于Web的分析解决方案。 – Gigazelle 2013-04-09 20:23:44