現在のnavigator.platformの可能な値のリストは何ですか?


94

私はこれが頻繁に変更されることを知っていますが、によって返される可能性のある値の可能な限り完全なリストがありnavigator.platformますか?

これまでのリスト:

  • HP-UX
  • Linux i686
  • Linux armv7l
  • Mac68K
  • MacPPC
  • MacIntel
  • SunOS
  • Win16
  • Win32
  • WinCE
  • iPhone
  • iPod
  • iPad
  • アンドロイド
  • BlackBerry
  • オペラ

見ましたbrowscap.iniか?プロジェクトは今年初めに再起動されました。
Robbert 2013年

1
はい、しかしそれは更新されたリストを全く与えていません。たとえば、iPadは含まれていません
thomasstephn 2013年

回答:


159

免責事項:このプロパティはブラウザから送信されるため、ユーザーエージェント文字列と同じように偽造できることに注意してください。navigatorオブジェクトが完全に正確であることを信頼しないでください。


定義

私が知る限りnavigator.platform、たとえプロパティがかなり以前から存在していたとしても、すべての可能な値の単一のパブリックリストはありません。さらに悪いことに、この物件の定義は何年にもわたって変わりました。それは従来:

navigator.platform ブラウザがコンパイルされたマシンタイプを示します。

これは基本的Win16に、ユーザーが32ビットまたは64ビットのWindowsマシンを使用している場合でも、ユーザーが16ビット用にコンパイルされたブラウザーを実行しているときにプロパティが返されることを意味します。

もちろん、W3Schoolsは古い定義をリストしています(私はそれらにリンクするつもりはありません)。W3MDNは別の定義についても合意しています。

navigator.platform ブラウザが実行されているプラ​​ットフォームを表します。

それでも、この定義は少しあいまいです。10年前の「プラットフォーム」は、CPUアーキテクチャまたはオペレーティングシステムのいずれかでした。近年、ハンドヘルドおよびメディアデバイスもプラットフォームになる可能性があります。


解釈

ウェブ上のすべてのものと同様に、私たちの運命は強力なブラウザーベンダーの手にかかっています。この場合、すべての主要ブラウザ(IE、Safari、Firefox、Chrome)は、私の64ビットWindowsマシンがWin32プラットフォームであることを認めています。つまり、これまでのところ64ビット向けにコンパイルされていないため、Windowsに関する限り、古い定義に固執しています。ただし、明るい面を見てください。少なくとも、全員が何かについて一度は同意します。

ハンドヘルドデバイスとメディアデバイスに関しては、少し幸運なようです。質問ですでに述べたように、iPhone、iPod、iPadはすべて同じオペレーティングシステムを実行していますが、それぞれに固有の値があります。ニンテンドーとソニーのすべてのデバイスもユニークな値を返しています。だから今だけnavigator.platformが興味深く見え始めています。

しかしその後、iPhone向けのOpera Miniが登場し、再び混乱を招きます。Opera Miniは実際にはコードエンジンのバージョン番号を返します。これは、platformこれまでに遭遇したものとはまったく異なる解釈です。だから今、私たちは私たちが始めたところに戻っており、なぜこのテーマに関する情報がほとんどないのかを理解し始めています。

解釈はさまざまで、完全な答えはありませんが、navigator.platform物件を調査している他の人には2セントを追加する必要があると思いました。


リスト

以下は、私が知っている複数のソースで確認できる値の(完全に不明確な)リストです。あいまいな定義のため、これらを注文する最良の方法が何であるかはよくわかりません。ここでは、オペレーティングシステムまたはデバイスのブランドに基づいてそれらをいくつかのカテゴリに分類し、該当する場合は追加情報とリリース日をリストしました。

アンドロイド

Androidデバイスのテストは本当に難しいです。AndroidデバイスはAndroid、Linuxの一部のバージョンと同じ頻度で返されます。たとえば、Nexus 5スマートフォンでは、AndroidブラウザとChromeの両方が復帰しLinux armv7lます。まれに、Androidデバイスがnull(の代わりにundefined)復帰することさえあります。

  • Android (2008)
  • Linux:上記の注を参照
  • null

林檎

iOSに関する限り、Safari、Chrome、Mercuryは同意しますが、Operaは混乱を招きます。

  • iPhone (2007)
  • iPod (2007)
  • iPad (2010)
  • iPhone Simulator:Xcodeに同梱されているシミュレーター
  • iPod Simulator:Xcodeに同梱されているシミュレーター
  • iPad Simulator:Xcodeに同梱されているシミュレーター
  • Macintosh
  • MacIntel:Intelプロセッサ(2005)
  • MacPPC:PowerPCプロセッサー
  • Mac68K:68000プロセッサ
  • Pike v7.6 release 92:Opera Mini 5 on any iPhone(2009)
  • Pike v7.8 release 517:Opera Mini 7 on any iPhone(2012)

BlackBerry

  • BlackBerry (2003)

FreeBSD

  • FreeBSD
  • FreeBSD i386:x86(IA-32)プロセッサー
  • FreeBSD amd64:AMD x86-64プロセッサー

Linux

非常に多くのプラットフォームがこの上に構築されているため、深刻な信頼性がありません。たとえば、ChromeOSまたはLinux x86-64上のChrome Linux i686は、コンパイルされたものであるため、どちらも戻ります。

Linux ARMはアーキテクチャフラグをリストします。たとえばarmv5tej、Thumbサポート( 'T')、DSP命令セット( 'E')、およびJazelleサポート( 'J')を備えたv5 ARMアーキテクチャを示します。

  • Linux
  • Linux aarch64
  • Linux armv5tejl
  • Linux armv6l
  • Linux armv7l
  • Linux i686
  • Linux i686 on x86_64
  • Linux i686 X11:X11ウィンドウシステムに基づく
  • Linux MSM8960_v3.2.1.1_N_R069_Rev:18:ソニーXperia V
  • Linux ppc64
  • Linux x86_64
  • Linux x86_64 X11:X11ウィンドウシステムに基づく

マイクロソフト

64ビットのWindows 8でも、すべてがそのまま使用されWin32ます。

  • OS/2 (1994†)
  • Pocket PC
  • Windows
  • Win16:Windows 3.1x(1992†)
  • Win32:Windows 95以降
  • WinCE

Mozilla(Firefox OS)

Firefox OSのWebブラウザで空の文字列が返されます。このバグレポートを参照してください。

KaiOS

(Firefoxベースの)KaiOS上のWebブラウザーも空の文字列を返します(Firefox OSと同じ)。このバグレポートを参照してください。

任天堂

  • 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:SymbianのOpera
  • Symbian OS

手のひら

  • PalmOS (1996)
  • webOS (2009)

Solaris

  • SunOS
  • SunOS i86pc
  • SunOS sun4u:SPARCプロセッサー

ソニー

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

いろいろ

  • HP-UX:Hewlett-Packard UniX
  • masking-agent:マスキングエージェントfor Firefoxを使用すると、値がこれに変わります
  • WebTV OS
  • X11:X11ウィンドウシステム

このリストにないデバイスをお持ちですか?デバイスのプロパティとそのnavigator.platform値をリストしたコメントを残してください(このJSFiddleを使用して値を見つけてください)。

お役に立てれば。


トーマス、助けてくれてうれしい。
Robbert 2013年

参考までに、IEを含め、一部の64ビットブラウザは存在します。したがって、Win64が表示されることがあります。私のブラウザースニファーはそれを表示するように設定されており、64ビットを実行しているとしてブラウザーにフラグを立てます。それ以外の場合は非常に包括的なリスト。ありがとう。:)
Bezelith 2013

このリストには、いくつかのより多くがありますbooks.google.com/...
hexalys

@ベゼリス:ありがとう!また、navigator.cpuClassnavigator.appVersionで64ビットシステムを検出しようとする人もいますが、現時点ではどちらも信頼できるとは思えません。@hexalys:ありがとうございます。これらの文字列をリストに追加しました。
Robbert

1
現時点では確認できませんが、Xbox 360、Xbox One、PS4にも対応する予定はありませんか?
John Odom

21

私がテストした特定のデバイスの明確な値をこのリストに追加できます。

文字列がの場合、数字や小文字ではなくLinux armv7l、小文字で終わりますL(「Linuxの場合は?」)。1I

iOSデバイスの場合、テストはSafariで実行されました。Androidデバイスの場合、テストはストックブラウザー、またはストックブラウザーがインストールされていない場合はChromeで実行されました。

Windowsタブレットデバイスのうち、Nokia LumiaはWindows RT 8.1とIE 11.0.9600.16476を実行し、MS SurfaceはWindows 8.1 ProとIE 11.0.9600.16438を実行していました。

Windows Phoneデバイスのうち、Nokia LumiaはWindows Phone 8.1とIE 11を実行していました。

電話

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

タブレット

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

私の最初のリストの試みに素晴らしい追加、よくできました!ただし、iOSでも、別のブラウザーで別の識別子を返すことができます(特にOpera Mini)。デバイス/ OS /ブラウザなどのすべての組み合わせをテストするウェブサイトが必要です...
Robbert

ARMアーキテクチャは、小文字のサフィックスを使用して、バリアント機能を示します。私が知る限り、lリトルエンディアンの略です(LSBを最小のアドレスに格納します(意味がある場合))。ただし、バリアントが多すぎて追跡できません。
Robbert 2014年

9

私はコメントを投稿できなかったので、私はこれらは上記で言及されていないと思うものを残します:

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

「マスキングエージェント」は、デフォルトでプラットフォームを変更するブラウザプライバシー拡張です。

奇妙な長いのはSony Z10です


これらの追加に感謝します。リストに追加しました。Sony Z10最長navigator.platform価値の王冠を手に入れました。
ロバート

@justinどのブラウザーのプライバシー拡張機能が値を "masking-agent"に変更するか知っていますか?編集:気にしないで、私はaddons.mozilla.org/en-US/firefox/addon/masking-agentを参照していますが、誰かが知っていれば、Chromeや他のブラウザーについてまだ疑問に思っていると思います。
user4851 2017年

@ user4851 addons.mozilla.org/en-US/firefox/addon/masking-agentは利用できなくなりました
Christophe Roussy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.