私はこれが頻繁に変更されることを知っていますが、によって返される可能性のある値の可能な限り完全なリストがありnavigator.platform
ますか?
これまでのリスト:
- HP-UX
- Linux i686
- Linux armv7l
- Mac68K
- MacPPC
- MacIntel
- SunOS
- Win16
- Win32
- WinCE
- iPhone
- iPod
- iPad
- アンドロイド
- BlackBerry
- オペラ
私はこれが頻繁に変更されることを知っていますが、によって返される可能性のある値の可能な限り完全なリストがありnavigator.platform
ますか?
これまでのリスト:
回答:
免責事項:このプロパティはブラウザから送信されるため、ユーザーエージェント文字列と同じように偽造できることに注意してください。navigator
オブジェクトが完全に正確であることを信頼しないでください。
私が知る限りnavigator.platform
、たとえプロパティがかなり以前から存在していたとしても、すべての可能な値の単一のパブリックリストはありません。さらに悪いことに、この物件の定義は何年にもわたって変わりました。それは従来:
navigator.platform
ブラウザがコンパイルされたマシンタイプを示します。
これは基本的Win16
に、ユーザーが32ビットまたは64ビットのWindowsマシンを使用している場合でも、ユーザーが16ビット用にコンパイルされたブラウザーを実行しているときにプロパティが返されることを意味します。
もちろん、W3Schoolsは古い定義をリストしています(私はそれらにリンクするつもりはありません)。W3とMDNは別の定義についても合意しています。
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 VLinux 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のOperaSymbian 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 UniXmasking-agent
:マスキングエージェントfor Firefoxを使用すると、値がこれに変わりますWebTV OS
X11
:X11ウィンドウシステムこのリストにないデバイスをお持ちですか?デバイスのプロパティとそのnavigator.platform
値をリストしたコメントを残してください(このJSFiddleを使用して値を見つけてください)。
お役に立てれば。
navigator.cpuClass
とnavigator.appVersion
で64ビットシステムを検出しようとする人もいますが、現時点ではどちらも信頼できるとは思えません。@hexalys:ありがとうございます。これらの文字列をリストに追加しました。
私がテストした特定のデバイスの明確な値をこのリストに追加できます。
文字列がの場合、数字や小文字ではなくLinux armv7l
、小文字で終わりますL
(「Linuxの場合は?」)。1
I
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
l
リトルエンディアンの略です(LSBを最小のアドレスに格納します(意味がある場合))。ただし、バリアントが多すぎて追跡できません。
私はコメントを投稿できなかったので、私はこれらは上記で言及されていないと思うものを残します:
+-----+--------------+--------------------------------------+
| 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
価値の王冠を手に入れました。
browscap.ini
か?プロジェクトは今年初めに再起動されました。