Каков список возможных значений для навигатора.платформа на сегодняшний день?



Я знаю, что это меняется довольно часто, но есть ли список как можно более исчерпывающий из возможных значений, возвращаемых navigator.platform?



список так:




  • HP-UX

  • Linux i686

  • Linux armv7l

  • Mac68K

  • MacPPC

  • MacIntel

  • SunOS

  • С win16

  • Win32

  • вздрагивание

  • iPhone

  • iPod

  • iPad

  • Android

  • BlackBerry

  • Опера

463   3  

3 ответов:

отказ от ответственности: обратите внимание, что это свойство отправляется браузером и может быть подделано, как и строки агента пользователя. Никогда не полагайтесь на navigator объект, чтобы быть полностью точным.


определение

насколько я знаю, нет ни одного публичного списка всех возможных navigator.platform значения, хотя свойство было вокруг довольно много. Чтобы сделать вещи хуже, определение свойства изменилось на протяжении всего годы. Раньше это было:

navigator.platform указывает тип машины, для которой был скомпилирован браузер.

это в основном означает, что свойство может возвращать Win16 когда пользователь запускает браузер, скомпилированный для 16-разрядной версии, даже если пользователь находится на 32-разрядной или 64-разрядной машине Windows.

конечно, W3Schools перечисляет старое определение (я даже не собираюсь ссылаться на них). W3 и MDN договорились о другое определение, хотя:

navigator.platform представляет платформу, на которой выполняется браузер.

тем не менее, это определение немного расплывчато. Десять лет назад "платформа" была бы либо архитектурой процессора, либо операционной системой. В последние годы портативные и мультимедийные устройства также могут быть платформами.


толкование

как и все в интернете, наша судьба в руках могучие поставщики браузеров. В этом случае все основные браузеры (IE, Safari, Firefox и Chrome) согласны с тем, что моя 64-разрядная машина Windows является . Это означает, что они придерживаются старого определения, поскольку Windows идет, потому что ни один из них не компилируется для 64-битного до сих пор. Посмотрите на светлую сторону: по крайней мере, все они согласны на что-то на этот раз.

похоже, что нам немного повезло, когда речь заходит о портативных и мультимедийных устройствах. Как вы уже заявили в своем вопрос: iPhone, iPod и iPad получили уникальное значение, хотя все они работают под управлением одной и той же операционной системы. Все устройства Nintendo и Sony также возвращают уникальные значения. Так что только сейчас navigator.platform начинает выглядеть интересно.

но затем появляется Opera Mini для iPhone, снова все портит. Opera Mini фактически возвращает номер версии движка кода, что является совершенно другой интерпретацией platform чем все, с чем мы сталкивались до сих пор. Теперь мы вернулись к тому, с чего начали, и начинаем понимать, почему на эту тему так мало информации.

несмотря на то, что интерпретации варьируются, и у меня нет полного ответа для вас, я чувствовал, что должен добавить свои 2 цента для кого-то еще, исследующего navigator.platform собственность.


список

ниже (точно не определенный) список значений я знаю, что я мог бы проверить с несколькими источники. Из-за расплывчатого определения, я не слишком уверен, что лучший способ заказать их. На данный момент я разделил их на несколько категорий на основе операционной системы или бренда устройства и перечислил дополнительную информацию и даты выпуска, где это применимо.

Android

это действительно трудно проверить для Android устройств. Android-устройствах будет возвращать Android так же часто, как и некоторые версии Linux. Например, на телефоне Nexus 5, как браузер Android и Chrome return Linux armv7l. В редких случаях Android устройства могут даже вернуть null (вместо undefined).

  • Android (2008)
  • Linux: см. Примечания выше
  • null

Яблоко

что касается iOS: Safari, Chrome и Mercury согласны, но Opera все портит.

  • iPhone (2007)
  • iPod (2007)
  • iPad (2010)
  • iPhone Simulator: симулятор поставляется с Xcode
  • iPod Simulator: симулятор поставляется с Xcode
  • iPad Simulator: симулятор поставляется с Xcode
  • Macintosh
  • MacIntel: процессор Intel (2005)
  • MacPPC: процессор PowerPC
  • Mac68K: процессор 68000
  • Pike v7.6 release 92: Opera Mini 5 на любом iPhone (2009)
  • Pike v7.8 release 517: Opera Mini 7 на любом iPhone (2012)

BlackBerry

  • BlackBerry (2003)

FreeBSD

  • FreeBSD
  • FreeBSD i386: x86 (IA-32) процессор
  • FreeBSD amd64: процессор AMD x86-64

Linux

серьезно ненадежны, потому что так много на этом построены платформы. Например, Chrome на ChromeOS или Linux x86-64 оба возвращают Linux i686 как это то, для чего они были составлены.

Примечание Linux ARM перечисляет флаги архитектуры, например armv5tej обозначает архитектуру руки v5 с поддержкой большого пальца ('T'), набором инструкций DSP ('E') и поддержкой Jazelle (Джей).

  • Linux
  • Linux aarch64
  • Linux armv5tejl
  • Linux armv6l
  • Linux armv7l
  • Linux i686
  • Linux i686 on x86_64
  • Linux i686 X11: на основе оконной системы X11
  • Linux MSM8960_v3.2.1.1_N_R069_Rev:18: Sony Xperia V
  • Linux ppc64
  • Linux x86_64
  • Linux x86_64 X11: на основе окна X11 Система

Microsoft

даже на 64-битной Windows 8 все они придерживаются Win32.

  • OS/2 (†1994)
  • Pocket PC
  • Windows
  • Win16: Windows 3.1 x (1992†)
  • Win32: Windows 95 и выше
  • WinCE

Mozilla

в Firefox OS возвращается пустая строка. Смотрите этот отчет об ошибке.

Nintendo

  • New Nintendo 3DS (2014)
  • Nintendo DSi (2008)
  • Nintendo 3DS (2011)
  • Nintendo Wii (2006)
  • Nintendo WiiU (2012)

OpenBSD

  • OpenBSD amd64

Symbian / S40

  • Nokia_Series_40 (†1999)
  • S60 (2002†)
  • Symbian: Opera на Symbian
  • Symbian OS

пальмы

  • PalmOS (1996)
  • webOS (2009)

Солярис

  • SunOS
  • SunOS i86pc
  • SunOS sun4u: SPARC процессор

Sony

  • PLAYSTATION 3 (2006)
  • PlayStation 4 (2013)
  • PSP: PlayStation Portable (2004)

различные

  • HP-UX: Hewlett-Packard UniX
  • masking-agent: значение изменяется на это при использовании агента маскировки для Firefox
  • WebTV OS
  • X11: Окно X11 Система

есть устройство, которого нет в этом списке? Пожалуйста, оставьте комментарий со списком свойств вашего устройства и его navigator.platform значение (не стесняйтесь использовать это JSFiddle найдите значение).

надеюсь, что это помогает.

Я могу добавить в этот список окончательные значения для конкретных устройств, которые я тестировал.

строка Linux armv7l, Он заканчивается в нижнем регистре L (для " Linux, предположительно?), а не количество 1 или в нижнем регистре I.

для устройств iOS тестирование проводилось в Safari. Для устройств Android тестирование проводилось в браузере акций или Chrome, если не был установлен браузер акций.

из планшетных устройств Windows, Nokia Lumia работал под управлением Windows RT 8.1 с IE 11.0.9600.16476, А MS Surface работал под управлением Windows 8.1 Pro с IE 11.0.9600.16438.

из устройств Windows Phone Nokia Lumia работала под управлением Windows Phone 8.1 и IE 11.

телефоны

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                          |
+-----+--------------+--------------------------------------+

"masking-agent" - это расширение конфиденциальности браузера, которое по умолчанию изменяет платформу на это.

странный длинный-это Sony Z10

Comments

    Ничего не найдено.