Javascript 截至今天,navigator.platform的可能值列表是什么?
我知道这种情况经常发生变化,但是否有一个尽可能详尽的列表,列出了Javascript 截至今天,navigator.platform的可能值列表是什么?,javascript,Javascript,我知道这种情况经常发生变化,但是否有一个尽可能详尽的列表,列出了navigator.platform返回的可能值 迄今为止的清单: HP-UX Linux i686 Linux armv7l Mac68K MacPPC 麦因特尔 苏诺斯 Win16 Win32 畏缩 iPhone iPod iPad 安卓 黑莓 歌剧院 免责声明:请注意,此属性是由浏览器发送的,因此可能被伪造,就像用户代理字符串一样。切勿依赖导航器对象使其完全准确 定义 据我所知,没有一个列出所有可能的“navigator.p
navigator.platform
返回的可能值
迄今为止的清单:
- HP-UX
- Linux i686
- Linux armv7l
- Mac68K
- MacPPC
- 麦因特尔
- 苏诺斯
- Win16
- Win32
- 畏缩
- iPhone
- iPod
- iPad
- 安卓
- 黑莓
- 歌剧院
导航器
对象使其完全准确
定义
据我所知,没有一个列出所有可能的“navigator.platform”值的公共列表,尽管该属性已经存在了相当长一段时间。更糟糕的是,这些年来,房产的定义发生了变化。过去是:
navigator.platform
表示为其编译浏览器的机器类型
这基本上意味着当用户运行为16位编译的浏览器时,即使用户在32位或64位Windows计算机上,属性也可以返回Win16
当然,W3Schools列出了旧的定义(我甚至不想链接到它们)。并同意了一个不同的定义:
navigator.platform
表示执行浏览器的平台
尽管如此,这个定义还是有点模糊。十年前,“平台”要么是CPU架构,要么是操作系统。近年来,手持设备和媒体设备也可以成为平台
解读 与网络上的一切一样,我们的命运掌握在强大的浏览器供应商手中。在这种情况下,所有主要浏览器(如Safari、Firefox和Chrome)都同意我的64位Windows机器是一个“Win32”平台。这意味着,对于Windows来说,它们都坚持旧的定义,因为到目前为止,它们都没有针对64位进行编译。但要看到好的一面:至少他们在某件事上达成了一致。 在手持设备和媒体设备方面,我们似乎更幸运一些。正如你在问题中已经提到的,iPhone、iPod和iPad都有独特的价值,尽管它们都运行相同的操作系统。任天堂和索尼的所有设备也在回归独特的价值。所以直到现在,
navigator.platform
才开始变得有趣起来
但随后iPhone版的Opera Mini又出现了,把事情搞砸了。Opera Mini实际上返回了一个代码引擎版本号,这是对平台的一种完全不同的解释,与我们迄今为止遇到的任何东西都不同。现在我们回到了我们开始的地方,我们开始理解为什么关于这个主题的信息如此之少
尽管解释各不相同,我也没有一个完整的答案给你,但我确实觉得我应该为研究navigator.platform
属性的其他人加上2美分
名单
下面是我所知道的可以通过多个来源验证的值的列表(绝对不确定)。由于定义模糊,我不太确定订购这些产品的最佳方式是什么。目前,我根据操作系统或设备品牌将它们分为几个类别,并在适当的地方列出了附加信息和发布日期。
Android
对Android设备进行测试真的很难。Android设备返回Android的频率与某些版本的Linux相同。例如,在Nexus 5手机上,Android浏览器和Chrome都返回Linux armv7l
。在极少数情况下,Android设备甚至可以返回null
(而不是undefined
)
Android
(2008)
Linux
:参见上面的注释
null
苹果
就iOS而言:Safari、Chrome和Mercury都同意,但Opera把事情搞砸了
iPhone
(2007)
iPod
(2007)
iPad
(2010)
iPhone模拟器
:模拟器随Xcode一起提供
iPod模拟器
:模拟器随Xcode一起提供
iPad模拟器
:模拟器随Xcode一起提供
Macintosh
MacIntel
:英特尔处理器(2005)
MacPPC
:PowerPC处理器
Mac68K
:68000处理器
Pike v7.6 92版
:任何iPhone上的Opera Mini 5(2009)
Pike v7.8 517版
:任何iPhone上的Opera Mini 7(2012)
黑莓
- 黑莓
(2003)
FreeBSD
FreeBSD
:x86(IA-32)处理器FreeBSD i386
:AMD x86-64处理器FreeBSD amd64
Linux i686
,因为这就是它们编译的目的
注:Linux ARM列出了体系结构标志,例如,armv5tej
将表示具有Thumb支持('T')、DSP指令集('e')和Jazelle支持('J')的v5 ARM体系结构
Linux
Linux aarch64
Linux armv5tejl
Linux-armv6l
Linux armv7l
Linux armv8l
Linux i686
- x86_64上的Linux i686
:基于X11窗口系统Linux i686 X11
:索尼Xperia VLinux MSM8960\u v3.2.1.1\N\u R069\u版本:18
Linux ppc64
Linux x86\u 64
Linux x8
Device OS window.navigator.platform --------------------------------------------------------------------------- iPhone 4 iOS 7.1 iPhone iPhone 5 iOS 7.1.1 iPhone iPhone 5c iOS 7.1 iPhone iPhone 5s iOS 7.1 iPhone Samsung Galaxy S2 Android 4.1.2 Linux armv7l Samsung Galaxy S3 Mini Android 4.1.2 Linux armv7l Samsung Galaxy S3 Android 4.3 Linux armv7l Samsung Galaxy S4 Android 4.4.2 Linux armv7l Samsung Galaxy Note 3 Android 4.4.2 Linux armv7l Samsung Galaxy S6 Android 5 Linux aarch64 Nexus 4 Android 4.4.2 Linux armv7l Nexus 5 Android 4.4.2 Linux armv7l HTC One Android 4.4.2 Linux armv7l Sony Xperia Z Android 4.2.2 Linux armv7l Motorola Moto G Android 4.4.2 Linux armv7l Nokia Lumia 1520 Windows 8.1 Win32
Device OS window.navigator.platform --------------------------------------------------------------------------- iPad 2nd generation iOS 6.1.3 iPad iPad 2nd generation iOS 7.0.3 iPad iPad 4th generation iOS 6.1.2 iPad iPad 4th generation iOS 6.1.3 iPad iPad mini (non retina) iOS 6.1.3 iPad iPad mini (retina) iOS 7.0.3 iPad Samsung Galaxy Tab 2 7" Android 4.0.3 Linux armv7l Samsung Galaxy Tab 3 7" Android 4.1.2 Linux armv7l Samsung Galaxy Tab 3 Android 4.2.2 Linux i686 Samsung Galaxy Note 10.1 (2012) Android 4.1.2 Linux armv7l Samsung Galaxy Note 10.1 (2014) Android 4.3 Linux armv7l Nexus 7 (2012) 7" Android 4.4.3 Linux armv7l Nexus 7 (2013) 7" Android 4.3 Linux armv7l Nexus 10 Android 4.4.2 Linux armv7l Lenovo Yoga Android 4.2.2 Linux armv7l Sony Xperia Z Android 4.3 Linux armv7l Tesco Hudl 7" Android 4.2.2 Linux armv7l Kindle Fire 7" (2012) Unknown Linux armv7l Kindle Fire HDX 7" (2013) Unknown Linux armv7l Asus Transformer Pad TF300T Android 4.0.3 Linux armv7l Nokia Lumia 2520 Windows RT 8.1 Win32 MS Surface Tablet Pro Windows 8.1 Pro Win64 Desktop PC (HP) Windows 7 Ent. Win32 Desktop PC (iMac) OSX 10.8.5 MacIntel
+-----+--------------+--------------------------------------+ | iid | item | value | +-----+--------------+--------------------------------------+ | 448 | nav_platform | Linux armv7l | | 454 | nav_platform | ARM | | 455 | nav_platform | Linux x86_64 | | 457 | nav_platform | PlayStation 4 | | 459 | nav_platform | masking-agent | | 460 | nav_platform | OpenBSD amd64 | | 464 | nav_platform | FreeBSD amd64 | | 465 | nav_platform | Linux armv5tejl | | 466 | nav_platform | Symbian OS | | 467 | nav_platform | New Nintendo 3DS | | 470 | nav_platform | Linux armv6l | | 471 | nav_platform | FreeBSD | | 472 | nav_platform | Symbian | | 473 | nav_platform | Linux MSM8960_V3.2.1.1_N_R069_Rev:18 | | 476 | nav_platform | Linux aarch64 | | 479 | nav_platform | Linux i686 on x86_64 | | 480 | nav_platform | Linux ppc64 | +-----+--------------+--------------------------------------+