오늘부터 navigator.platform의 가능한 값 목록은 무엇입니까? [닫은]


93

나는 이것이 자주 변경된다는 것을 알고 있지만 가능한 한 철저한 목록이 navigator.platform있습니까?

지금까지 목록 :

  • HP-UX
  • Linux i686
  • Linux armv7l
  • Mac68K
  • MacPPC
  • MacIntel
  • SunOS
  • Win16
  • Win32
  • 질겁
  • 아이폰
  • iPod
  • 아이 패드
  • 기계적 인조 인간
  • 블랙 베리
  • 오페라

1
봤어 browscap.ini? 프로젝트는 올해 초에 재부팅되었습니다.
Robbert 2013

1
예,하지만 업데이트 된 목록을 전혀 제공하지 않습니다. 예를 들어 iPad가 없습니다
thomasstephn 2013

답변:


163

면책 조항 : 이 속성은 브라우저에서 전송되므로 사용자 에이전트 문자열처럼 위조 될 수 있습니다. navigator객체가 완전히 정확하다고 믿지 마십시오 .

정의

내가 아는 한 모든 가능한`navigator.platform` 값에 대한 단일 공개 목록은 없습니다. 설상가상으로 부동산의 정의가 수년에 걸쳐 변경되었습니다. 예전에는 :

navigator.platform 브라우저가 컴파일 된 머신 유형을 나타냅니다.

이는 기본적으로 Win16사용자가 32 비트 또는 64 비트 Windows 시스템에 있더라도 사용자가 16 비트 용으로 컴파일 된 브라우저를 실행할 때 속성이 반환 될 수 있음을 의미합니다 .

물론 W3Schools에는 이전 정의가 나열되어 있습니다 (링크도 표시하지 않겠습니다). W3MDN 은 다른 정의에 동의했습니다.

navigator.platform 브라우저가 실행되는 플랫폼을 나타냅니다.

그러나이 정의는 약간 모호합니다. 10 년 전 '플랫폼'은 CPU 아키텍처 또는 운영 체제였습니다. 최근에는 핸드 헬드 및 미디어 장치도 플랫폼이 될 수 있습니다.


해석

웹상의 모든 것과 마찬가지로 우리의 운명은 강력한 브라우저 공급 업체의 손에 달려 있습니다. 이 경우 모든 주요 브라우저 (IE, Safari, Firefox 및 Chrome)는 내 64 비트 Windows 시스템이`Win32` 플랫폼이라는 데 동의합니다. 이것은 Windows가 진행하는 한 이전 정의를 고수하고 있음을 의미합니다. 지금까지 64 비트 용으로 컴파일 된 것이 없기 때문입니다. 그래도 밝은면을보십시오. 적어도 그들은 모두 한 번은 동의합니다.

핸드 헬드 및 미디어 장치에 관해서는 좀 더 운이 좋은 것 같습니다. 질문에서 이미 언급했듯이 iPhone, iPod 및 iPad는 모두 동일한 운영 체제를 실행하더라도 고유 한 가치를 가지고 있습니다. Nintendo와 Sony의 모든 장치도 고유 한 값을 반환합니다. 그래서 지금 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: 모든 iPhone의 Opera Mini 5 (2009)
  • Pike v7.8 release 517: 모든 iPhone (2012)의 Opera Mini 7

블랙 베리

  • BlackBerry (2003)

FreeBSD

  • FreeBSD
  • FreeBSD i386: x86 (IA-32) 프로세서
  • FreeBSD amd64: AMD x86-64 프로세서

리눅스

많은 플랫폼이 여기에 구축 되었기 때문에 심각하게 신뢰할 수 없습니다. 예를 들어 ChromeOS 또는 Linux x86-64의 Chrome은 모두 Linux i686컴파일 된 용도로 반환 됩니다.

참고 Linux ARM은 아키텍처 플래그를 나열합니다. 예를 들어 armv5tejThumb 지원 ( 'T'), DSP 명령어 세트 ( 'E') 및 Jazelle 지원 ( 'J')이있는 v5 ARM 아키텍처를 나타냅니다.

  • Linux
  • Linux aarch64
  • Linux armv5tejl
  • Linux armv6l
  • Linux armv7l
  • Linux armv8l
  • Linux i686
  • Linux i686 on x86_64
  • Linux i686 X11: 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: X11 Window System 기반

마이크로 소프트

64 비트 Windows 8에서도 모두 Win32.

  • OS/2 (1994 년 †)
  • Pocket PC
  • Windows
  • Win16: Windows 3.1x (1992 †)
  • Win32: Windows 95 이상
  • WinCE

Mozilla (Firefox OS)

Firefox OS의 웹 브라우저에 빈 문자열이 반환됩니다. 이 버그 보고서를 참조하십시오 .

KaiOS

KaiOS (Firefox 기반)의 웹 브라우저도 빈 문자열 (Firefox OS와 동일)을 반환합니다. 이 버그 보고서를 참조하십시오 .

닌텐도

  • New Nintendo 3DS (2014)
  • Nintendo DSi (2008)
  • Nintendo 3DS (2011)
  • Nintendo Wii (2006)
  • Nintendo WiiU (2012)

OpenBSD

  • OpenBSD amd64

심비안 / S40

  • Nokia_Series_40 (1999 년 †)
  • S60 (2002 년 †)
  • Symbian: Symbian의 오페라
  • Symbian OS

손바닥

  • PalmOS (1996)
  • webOS (2009)

솔라리스

  • SunOS
  • SunOS i86pc
  • SunOS sun4u: SPARC 프로세서

소니

  • PLAYSTATION 3 (2006)
  • PlayStation 4 (2013)
  • PSP: 플레이 스테이션 포터블 (2004)

여러

  • HP-UX: Hewlett-Packard UniX
  • masking-agent: Firefox 용 마스킹 에이전트 사용시 값이이 값으로 변경됩니다.
  • WebTV OS
  • X11: X11 윈도우 시스템

이 목록에없는 장치가 있습니까? 장치의 속성과 navigator.platform값을 나열하는 주석을 남겨주세요 (값 을 찾으려면 이 JSFiddle 을 자유롭게 사용 하십시오 ).

도움이 되었기를 바랍니다.


도움이되어 기쁩니다, 토마스.
Robbert 2013

참고로, 일부 64 비트 브라우저, 심지어 IE까지도 존재합니다. 따라서 Win64가 때때로 나타날 수 있습니다. 내 브라우저 스니퍼가이를보고 브라우저가 64 비트를 실행하는 것으로 표시하도록 설정되어 있습니다. 그렇지 않으면 매우 포괄적 인 목록 .. 감사합니다. :)
Bezelith 2013

이 목록에 몇 가지 더있다 : books.google.com/...
hexalys은

@Bezelith : 감사합니다! 또한 사람들이 navigator.cpuClass및 을 사용하여 64 비트 시스템을 탐지하려고 시도하는 것을 보았습니다 navigator.appVersion. @hexalys : 감사합니다. 그 문자열을 목록에 추가했습니다.
Robbert

1
지금은 확인할 수 없지만 Xbox 360, Xbox One, PS4 용도 없나요?
John Odom

21

테스트 한 특정 장치에 대한 최종 값을이 목록에 추가 할 수 있습니다.

문자열이 Linux armv7l이면 L숫자 1나 소문자 가 아닌 소문자 ( "Linux, 아마도?)로 끝납니다 I.

iOS 기기의 경우 Safari에서 테스트가 수행되었습니다. Android 장치의 경우, 재고 브라우저 또는 재고 브라우저가 설치되지 않은 경우 Chrome에서 테스트를 수행했습니다.

Windows 태블릿 장치 중 Nokia Lumia는 IE 11.0.9600.16476과 함께 Windows RT 8.1을 실행하고 있었고 MS Surface는 IE 11.0.9600.16438과 함께 Windows 8.1 Pro를 실행했습니다.

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

1
ARM 아키텍처는 소문자 접미사를 사용하여 변형 기능을 나타냅니다. 내가 아는 한 l리틀 엔디안 의 약자 (말이된다면 가장 작은 주소에 LSB 저장). 그래도 추적하기에는 너무 많은 변형이 있습니다.
Robbert 2014-06-25

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

"masking-agent"는 기본적으로 플랫폼을 변경하는 브라우저 개인 정보 확장입니다.

이상하게 긴 것은 Sony Z10


이러한 추가에 감사드립니다. 목록에 추가했습니다. Sony Z10이제 가장 긴 navigator.platform가치를 위해 왕관을 쥐고 있습니다 .
Robbert

@justin 어떤 브라우저 개인 정보 확장 프로그램이 값을 "masking-agent"로 변경하는지 아십니까? 편집 : 신경 쓰지 마세요. addons.mozilla.org/en-US/firefox/addon/masking-agent를 볼 수 있지만 아는 사람이 있다면 여전히 Chrome이나 다른 브라우저에 대해 궁금해하고 있습니다.
user4851 2017-10-25

@ user4851 addons.mozilla.org/en-US/firefox/addon/masking-agent는 더 이상 사용할 수 없습니다
크리스토프 후씨
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.