Ich weiß, dass sich dies ziemlich oft ändert, aber gibt es eine möglichst vollständige Liste der möglichen Werte, die von zurückgegeben werden navigator.platform
?
Liste bisher:
- HP-UX
- Linux i686
- Linux armv7l
- Mac68K
- MacPPC
- MacIntel
- SunOS
- Win16
- Win32
- Zusammenzucken
- iPhone
- iPod
- iPad
- Android
- Brombeere
- Oper
javascript
thomasstephn
quelle
quelle
browscap.ini
? Das Projekt wurde Anfang dieses Jahres neu gestartet.Antworten:
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
navigator
Objekt vollständig genau ist.Die Definition
Soweit ich weiß, gibt es keine einzige öffentliche Liste aller möglichen
navigator.platform
Werte, 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:Dies bedeutet im Grunde, dass die Eigenschaft zurückgegeben werden kann,
Win16
wenn 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:
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
Win32
Plattform 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.platform
sieht 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
platform
als 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.platform
Immobilie 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
Android
genauso oft zurückgegeben wie einige Linux-Versionen. Auf einem Nexus 5-Telefon kehren beispielsweise sowohl der Android-Browser als auch Chrome zurückLinux armv7l
. In seltenen Fällen können Android-Geräte sogarnull
(anstelle vonundefined
) zurückkehren.Android
(2008)Linux
: siehe Anmerkungen obennull
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 geliefertiPod Simulator
: Simulator wird mit Xcode geliefertiPad Simulator
: Simulator wird mit Xcode geliefertMacintosh
MacIntel
: Intel-Prozessor (2005)MacPPC
: PowerPC-ProzessorMac68K
: 68000 ProzessorPike v7.6 release 92
: Opera Mini 5 auf jedem iPhone (2009)Pike v7.8 release 517
: Opera Mini 7 auf jedem iPhone (2012)Brombeere
BlackBerry
(2003)FreeBSD
FreeBSD
FreeBSD i386
: x86 (IA-32) ProzessorFreeBSD amd64
: AMD x86-64 ProzessorLinux
Ernsthaft unzuverlässig, weil so viele Plattformen darauf aufgebaut sind. Beispielsweise kehren Chrome unter ChromeOS oder Linux x86-64 beide zurück
Linux i686
da sie dafür kompiliert wurden.Hinweis Linux ARM listet Architekturflags auf, z. B.
armv5tej
wü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 SystemLinux 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 SystemMicrosoft
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öherWinCE
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
OpenBSD amd64
Symbian / S40
Nokia_Series_40
(1999 †)S60
(2002 †)Symbian
: Opera auf SymbianSymbian OS
Palme
PalmOS
(1996)webOS
(2009)Solaris
SunOS
SunOS i86pc
SunOS sun4u
: SPARC-ProzessorSony
PLAYSTATION 3
(2006)PlayStation 4
(2013)PSP
: PlayStation Portable (2004)Verschiedene
HP-UX
: Hewlett-Packard UniXmasking-agent
: Der Wert ändert sich bei Verwendung von Masking Agent für FirefoxWebTV OS
X11
: X11 FenstersystemHaben Sie ein Gerät, das nicht auf dieser Liste steht? Bitte hinterlassen Sie einen Kommentar, in dem die Eigenschaften und der
navigator.platform
Wert Ihres Geräts aufgeführt sind (verwenden Sie diese JSFiddle , um den Wert zu ermitteln).Hoffe das hilft.
quelle
navigator.cpuClass
und zu erkennennavigator.appVersion
, aber bisher scheinen beide nicht zuverlässig zu sein. @hexalys: Danke auch, ich habe diese Zeichenfolgen zur Liste hinzugefügt.Ich kann dieser Liste definitive Werte für bestimmte Geräte hinzufügen, die ich getestet habe.
Wo sich die Zeichenfolge befindet
Linux armv7l
, endet sie in KleinbuchstabenL
(vermutlich für "Linux?") Und nicht in Zahlen1
oder KleinbuchstabenI
.Für die iOS-Geräte wurden Tests in Safari durchgeführt. Für die Android-Geräte wurden Tests im Aktienbrowser oder in Chrome durchgeführt, wenn kein Aktienbrowser installiert war.
Von den Windows-Tablet-Geräten wurde auf dem Nokia Lumia Windows RT 8.1 mit IE 11.0.9600.16476 und auf dem MS Surface Windows 8.1 Pro mit IE 11.0.9600.16438 ausgeführt.
Von den Windows Phone-Geräten lief auf dem Nokia Lumia Windows Phone 8.1 und IE 11.
Telefone
Tablets
quelle
l
steht das für Little-Endian (Speichern des LSB in der kleinsten Adresse, wenn das Sinn macht). Es gibt jedoch viel zu viele Varianten, um den Überblick zu behalten.Ich konnte keinen Kommentar posten, daher hinterlasse ich diese, von denen ich denke, dass sie oben nicht erwähnt wurden:
"masking-agent" ist eine Browser-Datenschutzerweiterung, die die Plattform standardmäßig dahingehend ändert.
Das seltsam lange ist ein Sony Z10
quelle
Sony Z10
hält jetzt die Krone für den längstennavigator.platform
Wert.