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