Haftungsausschluss: Bitte beachten Sie, dass diese Eigenschaft vom Browser gesendet wird und daher wie Zeichenfolgen von Benutzeragenten gefälscht werden kann. Verlassen Sie sich niemals darauf, dass das navigatorObjekt vollständig genau ist.
Die Definition
Soweit ich weiß, gibt es keine einzige öffentliche Liste aller möglichen navigator.platformWerte, obwohl es die Immobilie schon seit einiger Zeit gibt. Um die Sache noch schlimmer zu machen, hat sich die Definition der Immobilie im Laufe der Jahre geändert. Ich war:
navigator.platform Gibt den Maschinentyp an, für den der Browser kompiliert wurde.
Dies bedeutet im Grunde, dass die Eigenschaft zurückgegeben werden kann, Win16wenn der Benutzer einen für 16-Bit kompilierten Browser ausführt, obwohl sich der Benutzer auf einem 32-Bit- oder 64-Bit-Windows-Computer befindet.
Natürlich listet W3Schools die alte Definition auf (ich werde nicht einmal darauf verlinken). W3 und MDN haben sich jedoch auf eine andere Definition geeinigt:
navigator.platform stellt die Plattform dar, auf der der Browser ausgeführt wird.
Dennoch ist diese Definition etwas vage. Vor einem Jahrzehnt war eine "Plattform" entweder eine CPU-Architektur oder ein Betriebssystem. In den letzten Jahren können Handheld- und Mediengeräte auch Plattformen sein.
Die Interpretation
Wie bei allem im Web liegt unser Schicksal in den Händen der mächtigen Browser-Anbieter. In diesem Fall stimmen alle gängigen Browser (IE, Safari, Firefox und Chrome) darin überein, dass mein 64-Bit-Windows-Computer eine Win32Plattform ist. Dies bedeutet, dass sie in Bezug auf Windows an der alten Definition festhalten, da bisher keine von ihnen für 64-Bit kompiliert wurde. Schauen Sie aber auf die gute Seite: Zumindest sind sich alle einmal einig.
Es scheint, als hätten wir etwas mehr Glück, wenn es um Handheld- und Mediengeräte geht. Wie Sie bereits in Ihrer Frage angegeben haben, haben iPhone, iPod und iPad jeweils einen eindeutigen Wert, obwohl alle dasselbe Betriebssystem ausführen. Alle Geräte von Nintendo und Sony geben ebenfalls eindeutige Werte zurück. Es navigator.platformsieht also erst jetzt interessant aus.
Aber dann kommt Opera Mini für iPhone und bringt die Dinge wieder durcheinander. Opera Mini gibt tatsächlich eine Versionsnummer der Code-Engine zurück, die eine völlig andere Interpretation darstellt platformals alles, was uns bisher begegnet ist. Jetzt sind wir wieder da, wo wir angefangen haben, und wir beginnen zu verstehen, warum es so wenig Informationen zu diesem Thema gibt.
Obwohl die Interpretationen variieren und ich keine vollständige Antwort für Sie habe, hatte ich das Gefühl, ich sollte meine 2 Cent für alle anderen da draußen hinzufügen, die die navigator.platformImmobilie recherchieren .
Die Liste
Unten finden Sie eine (definitiv nicht definierte) Liste der mir bekannten Werte, die ich mit mehreren Quellen überprüfen konnte. Aufgrund der vagen Definition bin ich mir nicht sicher, wie ich diese am besten bestellen kann. Im Moment habe ich sie je nach Betriebssystem oder Gerätemarke in einige Kategorien unterteilt und gegebenenfalls zusätzliche Informationen und Veröffentlichungsdaten aufgelistet.
Android
Es ist wirklich schwer, für Android-Geräte zu testen. Android-Geräte werden Androidgenauso oft zurückgegeben wie einige Linux-Versionen. Auf einem Nexus 5-Telefon kehren beispielsweise sowohl der Android-Browser als auch Chrome zurück Linux armv7l. In seltenen Fällen können Android-Geräte sogar null(anstelle von undefined) zurückkehren.
Android (2008)
Linux: siehe Anmerkungen oben
null
Apfel
Was iOS betrifft: Safari, Chrome und Mercury sind sich einig, aber Opera bringt die Dinge durcheinander.
iPhone (2007)
iPod (2007)
iPad (2010)
iPhone Simulator: Simulator wird mit Xcode geliefert
iPod Simulator: Simulator wird mit Xcode geliefert
iPad Simulator: Simulator wird mit Xcode geliefert
Macintosh
MacIntel: Intel-Prozessor (2005)
MacPPC: PowerPC-Prozessor
Mac68K: 68000 Prozessor
Pike v7.6 release 92: Opera Mini 5 auf jedem iPhone (2009)
Pike v7.8 release 517: Opera Mini 7 auf jedem iPhone (2012)
Brombeere
FreeBSD
FreeBSD
FreeBSD i386: x86 (IA-32) Prozessor
FreeBSD amd64: AMD x86-64 Prozessor
Linux
Ernsthaft unzuverlässig, weil so viele Plattformen darauf aufgebaut sind. Beispielsweise kehren Chrome unter ChromeOS oder Linux x86-64 beide zurückLinux i686 da sie dafür kompiliert wurden.
Hinweis Linux ARM listet Architekturflags auf, z. B. armv5tejwürde eine v5 ARM-Architektur mit Thumb-Unterstützung ('T'), einem DSP-Befehlssatz ('E') und Jazelle-Unterstützung ('J') bezeichnet.
Linux
Linux aarch64
Linux armv5tejl
Linux armv6l
Linux armv7l
Linux i686
Linux i686 on x86_64
Linux i686 X11: basierend auf X11 Window System
Linux MSM8960_v3.2.1.1_N_R069_Rev:18: Sony Xperia V.
Linux ppc64
Linux x86_64
Linux x86_64 X11: basierend auf X11 Window System
Microsoft
Selbst unter einem 64-Bit-Windows 8 bleiben alle dabei Win32.
OS/2 (1994 †)
Pocket PC
Windows
Win16: Windows 3.1x (1992 †)
Win32: Windows 95 und höher
WinCE
Mozilla (Firefox OS)
Eine leere Zeichenfolge wird im Webbrowser unter Firefox OS zurückgegeben. Siehe diesen Fehlerbericht .
KaiOS
Der Webbrowser unter KaiOS (basierend auf Firefox) gibt auch die leere Zeichenfolge zurück (wie Firefox OS). Siehe diesen Fehlerbericht .
Nintendo
New Nintendo 3DS (2014)
Nintendo DSi (2008)
Nintendo 3DS (2011)
Nintendo Wii (2006)
Nintendo WiiU (2012)
OpenBSD
Symbian / S40
Nokia_Series_40 (1999 †)
S60 (2002 †)
Symbian: Opera auf Symbian
Symbian OS
Palme
PalmOS (1996)
webOS (2009)
Solaris
SunOS
SunOS i86pc
SunOS sun4u: SPARC-Prozessor
Sony
PLAYSTATION 3 (2006)
PlayStation 4 (2013)
PSP: PlayStation Portable (2004)
Verschiedene
HP-UX: Hewlett-Packard UniX
masking-agent: Der Wert ändert sich bei Verwendung von Masking Agent für Firefox
WebTV OS
X11: X11 Fenstersystem
Haben Sie ein Gerät, das nicht auf dieser Liste steht? Bitte hinterlassen Sie einen Kommentar, in dem die Eigenschaften und der navigator.platformWert Ihres Geräts aufgeführt sind (verwenden Sie diese JSFiddle , um den Wert zu ermitteln).
Hoffe das hilft.
browscap.ini? Das Projekt wurde Anfang dieses Jahres neu gestartet.