如何使用JavaScript获取iOS设备版本?

如何使用JavaScript获取iOS设备版本?,javascript,iphone,device,Javascript,Iphone,Device,有没有办法使用JavaScript或其他基于浏览器的语言获取iOS设备版本(相对于OS版本)?例如iPhone5、iPhone4S、iPad3等 我无法在navigator.userAgent(或navigator的任何方法)中找到此信息,因为它只报告操作系统版本(而不报告所使用的设备)。例如,运行6.1.3的iPhone5具有以下用户代理: “Mozilla/5.0(iPhone;CPU iPhone OS 6_1_3,如Mac OS X)AppleWebKit/536.26(KHTML,如G

有没有办法使用JavaScript或其他基于浏览器的语言获取iOS设备版本(相对于OS版本)?例如iPhone5、iPhone4S、iPad3等

我无法在
navigator.userAgent
(或
navigator
的任何方法)中找到此信息,因为它只报告操作系统版本(而不报告所使用的设备)。例如,运行6.1.3的iPhone5具有以下用户代理:

“Mozilla/5.0(iPhone;CPU iPhone OS 6_1_3,如Mac OS X)AppleWebKit/536.26(KHTML,如Gecko)版本/6.0 Mobile/10B329 Safari/8536.25”

以及运行6.1.3的iPhone4:

“Mozilla/5.0(iPhone;CPU iPhone OS 6_1_3,如Mac OS X)AppleWebKit/536.26(KHTML,如Gecko)版本/6.0 Mobile/10B329 Safari/8536.25”


我能找到的最好方法是使用
屏幕.宽度
屏幕.高度
,因为这至少可以让我区分iPhone5、iPhone4和前几代。

你不能。您可以找到
iPhone
iPad
,以及设备运行的iOS版本,但找不到诸如
iphone4
之类的型号名称。这一款适合我


var iOS=parseFloat(“”+(/CPU.*OS([0-9}{1,5})|(类似CPU)。*AppleWebKit.*Mobile/i.exec(navigator.userAgent)| |[0',])[1])。替换('undefined','3|2')。替换('u',')。替换('u',')。替换('u','')|假;


它在iPhone上返回10.3

很抱歉,我现在无法检查此项,因为我周围目前没有IOS设备,但您可以使用navigator中的其他变量(如navigator.appName、navigator.platform、navigator.product、navigator.vendor等)检查是否有任何差异。为什么需要这样做?如果浏览器具有相同的功能,那么谁在乎呢?如果浏览器没有相同的功能,那么可以使用JavaScript中的标准对象检测方法来判断。基于用户代理更改功能不是最佳做法。它不是用于更改功能,而是用于基于web的分析解决方案。谢谢。我希望有办法做到这一点,但看起来你是完全正确的。我认为在最初的帖子中,用户询问的是设备版本,而不是iOS版本