104 votes

Quelle est la liste des valeurs possibles pour navigator.platform à ce jour?

Je sais que cela change assez souvent, mais existe-t-il une liste aussi exhaustive que possible des valeurs possibles renvoyées par navigator.platform ?

Liste jusqu'ici:

  • HP-UX
  • Linux i686
  • Linux armv7l
  • Mac68K
  • MacPPC
  • MacIntel
  • SunOS
  • Win16
  • Win32
  • Grimacer
  • iPhone
  • iPod
  • iPad
  • Android
  • La mûre
  • Opéra

181voto

Robbert Points 1408

Avertissement: veuillez noter que cet établissement est envoyé par le navigateur et peut donc être truqué, tout comme les chaînes d'agent utilisateur. Ne jamais compter sur l' navigator objet pour être tout à fait précis.


La définition

Pour autant que je sache, il n'existe pas un seul public la liste de tous les possibles navigator.platform valeurs, même si la propriété a été autour pour un peu. Pour aggraver les choses, la définition du bien changé au cours des ans. Il sert à être:

navigator.platform indique le type de machine pour laquelle le navigateur a été compilé.

Cela signifie essentiellement que la propriété peut renvoyer Win16 lorsque l'utilisateur exécute un navigateur compilé pour 16 bits, même si l'utilisateur est sur un 32 bits ou 64 bits de Windows de la machine.

Bien sûr W3Schools listes de l'ancienne définition (je ne suis même pas va lier à eux). W3 et le MDN ont mis d'accord sur une définition différente si:

navigator.platform représente la plate-forme sur laquelle le navigateur est en cours d'exécution.

Encore, cette définition est un peu vague. Il y A dix ans une "plateforme" qui serait une architecture de PROCESSEUR ou d'un système d'exploitation. Au cours des dernières années de l'ordinateur de poche et appareils multimédias peuvent être plates-formes de trop.


L'interprétation

Comme avec tout sur le web, notre sort est entre les mains de la puissante les fournisseurs de navigateur. Dans ce cas, tous les principaux navigateurs (IE, Safari, Firefox et Chrome) consens à ce que mon Windows 64 bits machine est un Win32 plate-forme. Cela signifie qu'ils sont coller à la définition de l'ancienne en ce qui concerne Windows va, car aucun d'entre eux sont compilés pour les 64 bits jusqu'à présent. Voir le côté positif cependant: au moins ils sont tous d'accord sur quelque chose, pour une fois.

Il semble que nous sommes un peu plus de chance quand il s'agit de l'ordinateur de poche et appareils multimédias. Comme vous l'avez mentionné dans votre question, l'iPhone, l'iPod et l'iPad chacun a une valeur unique, même si ils sont tous exécutant le même système d'exploitation. Tous de Nintendo et Sony, les appareils de retourner des valeurs uniques aussi. De sorte que maintenant navigator.platform commence à l'air intéressant.

Mais alors Opera Mini pour iPhone vient, de jouer des choses de nouveau. Opera Mini retourne en fait un code de numéro de version du moteur, qui est une interprétation tout à fait différente de l' platform que tout ce que nous avons rencontré jusqu'à présent. Alors maintenant, nous sommes de retour là où nous avons commencé et nous commençons à comprendre pourquoi il y a si peu d'information sur ce sujet là.

Même si les interprétations varient et je n'ai pas de réponse complète pour vous, je me sentais comme si je devais ajouter mes 2 cents pour quelqu'un d'autre là-la recherche de l' navigator.platform de la propriété.


La liste

Ci-dessous est un (certainement non-définitive) liste des valeurs que je sais de ce que j'ai pu vérifier à plusieurs sources. En raison de la définition vague, je ne sais pas trop quelle est la meilleure façon de commander ces est. Pour l'instant je l'ai divisé en plusieurs catégories en fonction du système d'exploitation ou de l'appareil de la marque et répertoriées des informations supplémentaires et les dates de sortie, le cas échéant.

Android

Il est vraiment difficile de test pour les appareils Android. Les appareils Android sera de retour Android aussi souvent que certaines versions de Linux. Par exemple sur un Nexus 5 de téléphone, le navigateur Android et Chrome retour Linux armv7l. Dans de rares cas, les appareils Android peuvent même revenir null (au lieu de undefined).

  • Android (2008)
  • Linux: voir les notes ci-dessus
  • null

Apple

Aussi loin que iOS va: Safari, Chrome et le Mercure, d'accord, mais l'Opéra sème la pagaille.

  • iPhone (2007)
  • iPod (2007)
  • iPad (2010)
  • Pike v7.6 release 92: Opera Mini 5 sur tous les iPhone (2009)
  • Pike v7.8 release 517: Opera Mini 7 sur tous les iPhone (2012)
  • Macintosh
  • MacIntel: Processeur Intel (2005)
  • MacPPC: Processeur PowerPC
  • Mac68K: Processeur 68000

BlackBerry

  • BlackBerry (2003)

FreeBSD

  • FreeBSD i386: x86 (IA-32) processeur
  • FreeBSD amd64: AMD x86-64 processeur

Linux

Sérieusement fiable, parce qu'multitude de plates-formes sont construites sur cette. Par exemple, google Chrome sur chrome os ou Linux x86-64 fois de retour Linux i686 que c'est ce qu'ils ont été compilés pour.

  • Linux
  • Linux i686
  • Linux i686 X11: basé sur le Système de fenêtrage X11
  • Linux armv7l
  • Linux x86_64 X11: basé sur le Système de fenêtrage X11

Microsoft

Même sur une version 64 bits de Windows 8, ils ont tous en tenir à Win32.

  • OS/2 (1994†)
  • Pocket PC
  • Windows
  • Win16: Windows 3.1 x (1992†)
  • Win32: Windows 95 et jusqu'
  • WinCE

Mozilla

Une chaîne vide est retournée sur Firefox OS. Voir ce rapport de bug.

Nintendo

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

Symbian S40

  • Nokia_Series_40 (1999†)
  • S60 (2002†)
  • Symbian: Opéra sur Symbian

Palm

  • PalmOS (1996)
  • webOS (2009)

Solaris

  • SunOS
  • SunOS i86pc
  • SunOS sun4u: Processeur SPARC

Sony

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

Divers

  • HP-UX: Hewlett-Packard UniX
  • WebTV OS
  • X11: Système De Fenêtrage X11

Avoir un appareil qui n'est pas sur cette liste? Vous pouvez laisser un commentaire de votre liste de propriétés du périphérique et de ses navigator.platform de la valeur (n'hésitez pas à utiliser ce JSFiddle pour trouver la valeur).

Espérons que cette aide.

24voto

Je peux ajouter à cette liste avec des valeurs définitives pour certains appareils que j'ai testé.

Lorsque la chaîne est Linux armv7l, il se termine par une minuscule L (pour "Linux, sans doute?), plutôt que d'être un certain nombre 1 ou en minuscules I.

Pour les appareils iOS, les essais ont été effectués dans Safari. Pour les appareils Android, les essais ont été effectués dans le stock de navigateur, Chrome ou si aucun stock navigateur a été installé.

De la tablette Windows appareils, le Nokia Lumia était sous Windows RT 8.1 avec IE 11.0.9600.16476, et le MS Surface a été exécute Windows 8.1 Pro avec IE 11.0.9600.16438.

De les Windows phones appareils, le Nokia Lumia était exécutant Windows Phone 8.1 et internet explorer 11.

Les téléphones

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

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

Comprimés

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X