Frage Was ist die Liste der möglichen Werte für navigator.platform ab heute?


Ich weiß, dass sich das ziemlich oft ändert, aber gibt es dort eine möglichst erschöpfende Liste möglicher Werte, die 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

75
2017-11-09 15:55


Ursprung


Antworten:


Haftungsausschluss: Bitte beachten Sie, dass diese Eigenschaft vom Browser gesendet wird und somit genauso wie User Agent Strings gefälscht werden kann. Verlasse dich nie auf die navigator Objekt, um vollkommen genau zu sein.


Die Definition

Soweit ich weiß, gibt es keine einzige öffentliche Liste aller möglichen navigator.platform Werte, obwohl das Anwesen schon eine ganze Weile existiert. Zu allem Überfluss hat sich die Definition der Immobilie im Laufe der Jahre verändert. Ich war:

navigator.platform gibt den Maschinentyp an, für den der Browser kompiliert wurde.

Dies bedeutet im Grunde, dass die Eigenschaft zurückkehren kann Win16 wenn der Benutzer einen für 16-Bit kompilierten Browser ausführt, obwohl sich der Benutzer auf einem 32-Bit- oder einem 64-Bit-Windows-Computer befindet.

Natürlich listet W3Schools die alte Definition auf (ich werde nicht mal mit ihnen 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 wäre eine "Plattform" entweder eine CPU-Architektur oder ein Betriebssystem. In den letzten Jahren können Handheld- und Mediengeräte ebenfalls 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 großen Browser (IE, Safari, Firefox und Chrome) zu, dass meine 64-Bit-Windows-Maschine ein Win32 Plattform. Das bedeutet, dass sie sich an die alte Definition halten, was Windows angeht, da bis jetzt noch keiner von ihnen für 64-Bit kompiliert wurde. Schau doch auf die helle Seite: Zumindest sind sich alle einig für einmal.

Es scheint, als ob wir etwas glücklicher sind, wenn es um Handhelds und Mediengeräte geht. Wie Sie bereits in Ihrer Frage gesagt haben, haben das iPhone, der iPod und das iPad jeweils einen einzigartigen Wert, obwohl sie alle das gleiche Betriebssystem haben. Alle Geräte von Nintendo und Sony geben ebenfalls einzigartige Werte zurück. Also nur jetzt navigator.platform fängt an, interessant auszusehen.

Aber dann kommt Opera Mini für das iPhone und macht alles wieder gut. Opera Mini gibt tatsächlich eine Code-Engine-Versionsnummer zurück, was eine völlig andere Interpretation von ist platform als alles, was uns bisher begegnet ist. Jetzt sind wir wieder da, wo wir angefangen haben und wir fangen an zu verstehen, warum es so wenig Informationen zu diesem Thema gibt.

Auch wenn die Interpretationen variieren und ich keine vollständige Antwort für Sie habe, hatte ich das Gefühl, dass ich meine 2 Cent für jeden anderen da draußen hinzufügen sollte navigator.platformEigentum.


Die Liste

Unten ist eine (definitiv nicht definierte) Liste der Werte, die ich kenne, die ich mit mehreren Quellen überprüfen konnte. Aufgrund der vagen Definition bin ich mir nicht sicher, was der beste Weg ist, diese zu bestellen. Vorläufig habe ich sie in einige Kategorien unterteilt, die auf dem Betriebssystem oder der Gerätemarke basieren, und gegebenenfalls zusätzliche Informationen und Veröffentlichungsdaten aufgeführt.

Android

Es ist sehr schwierig, Android-Geräte zu testen. Android-Geräte werden zurückkehren Android Genauso oft wie einige Linux-Versionen. Zum Beispiel auf einem Nexus 5 Telefon, sowohl der Android Browser und Chrome zurück Linux armv7l. In seltenen Fällen können Android-Geräte sogar zurückkehren null (Anstatt von undefined).

  • Android (2008)
  • Linux: siehe oben
  • null

Apfel

Soweit iOS geht: Safari, Chrome und Mercury stimmen zu, aber Opera vermasselt alles.

  • iPhone (2007)
  • iPod (2007)
  • iPad (2010)
  • iPhone Simulator: Simulator wird mit Xcode ausgeliefert
  • iPod Simulator: Simulator wird mit Xcode ausgeliefert
  • iPad Simulator: Simulator wird mit Xcode ausgeliefert
  • 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

  • BlackBerry (2003)

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. Zum Beispiel kehren Chrome auf ChromeOS oder Linux x86-64 zurück Linux i686 denn dafür wurden sie zusammengestellt.

Hinweis: Linux ARM listet Architekturflags auf, z. armv5tej würde eine v5-ARM-Architektur mit Thumb-Unterstützung ('T'), einem DSP-Befehlssatz ('E') und Jazelle-Unterstützung ('J') bezeichnen.

  • 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

Sogar auf einem 64-Bit Windows 8 bleiben sie alle Win32.

  • OS/2 (1994 †)
  • Pocket PC
  • Windows
  • Win16: Windows 3.1x (1992 †)
  • Win32: Windows 95 und höher
  • WinCE

Mozilla

Ein leerer String wird unter Firefox OS zurückgegeben. Sehen Dieser 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 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: 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 mit den Eigenschaften Ihres Geräts und dessen navigator.platform Wert (fühlen Sie sich frei zu benutzen diese JSFiddle um den Wert zu finden).

Hoffe das hilft.


120
2017-11-09 22:37



Ich kann diese Liste mit definitiven Werten für bestimmte Geräte, die ich getestet habe, ergänzen.

Wo ist die Saite? Linux armv7l, es endet in einem Kleinbuchstaben L (für "Linux, vermutlich?), anstatt eine Nummer zu sein 1 oder Kleinbuchstaben I.

Für die iOS-Geräte wurde das Testen in Safari durchgeführt. Bei Android-Geräten wurde der Test im Bestandsbrowser oder in Chrome durchgeführt, wenn kein Standard-Browser installiert war.

Von den Windows-Tablet-Geräten war auf dem Nokia Lumia Windows RT 8.1 mit IE 11.0.9600.16476 und auf MS Surface Windows 8.1 Pro mit IE 11.0.9600.16438 installiert.

Von den Windows Phone-Geräten war das Nokia Lumia Windows Phone 8.1 und IE 11.

Telefone

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

Tablets

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

15
2018-05-19 11:15



Ich konnte keinen Kommentar posten, also lasse ich die oben genannten nicht oben erwähnt:

+-----+--------------+--------------------------------------+
| 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" ist eine Browser-Privacy-Erweiterung, die standardmäßig die Plattform ändert.

Das komische lange ist ein Sony Z10


6
2018-03-15 02:54