ข้อจำกัดความรับผิดชอบ:โปรดทราบว่าคุณสมบัตินี้ถูกส่งโดยเบราว์เซอร์และสามารถปลอมแปลงได้เช่นเดียวกับสตริงตัวแทนผู้ใช้ อย่าพึ่งพาnavigator
วัตถุให้ถูกต้องสมบูรณ์
คำนิยาม
เท่าที่ฉันรู้ว่าไม่มีรายการสาธารณะของค่า "navigator.platform" ที่เป็นไปได้ทั้งหมดแม้ว่าคุณสมบัตินั้นจะมีอยู่ไม่น้อย คำจำกัดความของสถานที่ให้บริการจึงเปลี่ยนไปตลอดหลายปีที่ผ่านมา เคยเป็น:
navigator.platform
ระบุประเภทเครื่องที่คอมไพล์เบราว์เซอร์
โดยทั่วไปหมายความว่าคุณสมบัติสามารถคืนค่าได้Win16
เมื่อผู้ใช้เรียกใช้เบราว์เซอร์ที่คอมไพล์เป็น 16 บิตแม้ว่าผู้ใช้จะใช้เครื่อง Windows 32 บิตหรือ 64 บิตก็ตาม
แน่นอนว่า W3Schools แสดงคำจำกัดความเดิม (ฉันจะไม่เชื่อมโยงไปถึงพวกเขาด้วยซ้ำ) W3และMDNได้ตกลงในคำจำกัดความที่แตกต่างกันแม้ว่า:
navigator.platform
แสดงถึงแพลตฟอร์มที่เบราว์เซอร์กำลังทำงาน
ถึงกระนั้นคำจำกัดความนี้ยังค่อนข้างคลุมเครือ ทศวรรษที่ผ่านมา 'แพลตฟอร์ม' อาจเป็นสถาปัตยกรรม CPU หรือระบบปฏิบัติการ ในช่วงไม่กี่ปีที่ผ่านมาอุปกรณ์พกพาและอุปกรณ์สื่ออาจเป็นแพลตฟอร์มได้เช่นกัน
การตีความ
เช่นเดียวกับทุกสิ่งบนเว็บชะตากรรมของเราอยู่ในมือของผู้จำหน่ายเบราว์เซอร์ที่ยิ่งใหญ่ ในกรณีนี้เบราว์เซอร์หลัก ๆ ทั้งหมด (IE, Safari, Firefox และ Chrome) ยอมรับว่าเครื่อง Windows 64 บิตของฉันเป็นแพลตฟอร์ม "Win32" ซึ่งหมายความว่าพวกเขายึดติดกับคำจำกัดความเดิม ๆ ตราบเท่าที่ Windows ดำเนินไปเนื่องจากไม่มีการคอมไพล์สำหรับ 64 บิตเลย มองด้านสว่าง: อย่างน้อยพวกเขาทั้งหมดก็เห็นด้วยกับบางสิ่งเพียงครั้งเดียว
ดูเหมือนว่าเราจะโชคดีกว่าเล็กน้อยเมื่อพูดถึงอุปกรณ์พกพาและอุปกรณ์สื่อ ตามที่คุณได้ระบุไว้ในคำถามของคุณแล้ว iPhone, iPod และ iPad แต่ละเครื่องมีค่าที่ไม่ซ้ำกันแม้ว่าจะใช้ระบบปฏิบัติการเดียวกันทั้งหมดก็ตาม อุปกรณ์ทั้งหมดของ Nintendo และ Sony ก็คืนค่าที่ไม่ซ้ำกันเช่นกัน ตอนนี้navigator.platform
เริ่มดูน่าสนใจแล้ว
แต่แล้ว Opera Mini สำหรับ iPhone ก็เข้ามาทำให้เกิดความสับสนอีกครั้ง Opera Mini ส่งคืนหมายเลขเวอร์ชันของโค้ดเอ็นจิ้นซึ่งเป็นการตีความที่แตกต่างอย่างสิ้นเชิงกับplatform
สิ่งที่เราเคยเจอมา ตอนนี้เรากลับมาที่จุดเริ่มต้นและเริ่มเข้าใจว่าเหตุใดจึงมีข้อมูลเพียงเล็กน้อยเกี่ยวกับเรื่องนี้
แม้ว่าการตีความจะแตกต่างกันไปและฉันไม่มีคำตอบที่สมบูรณ์สำหรับคุณ แต่ฉันรู้สึกว่าควรเพิ่ม 2 เซ็นต์สำหรับคนอื่นที่กำลังหาข้อมูลเกี่ยวกับnavigator.platform
อสังหาริมทรัพย์
รายการ
ด้านล่างนี้คือรายการ (ไม่แน่นอนแน่นอน) ของค่าที่ฉันรู้ซึ่งฉันสามารถตรวจสอบได้กับหลายแหล่ง เนื่องจากคำจำกัดความที่คลุมเครือฉันจึงไม่แน่ใจว่าวิธีที่ดีที่สุดในการสั่งสิ่งเหล่านี้คืออะไร ตอนนี้ฉันแบ่งออกเป็นสองสามหมวดหมู่ตามระบบปฏิบัติการหรือยี่ห้ออุปกรณ์และระบุข้อมูลเพิ่มเติมและวันที่วางจำหน่ายหากมี
Android
การทดสอบสำหรับอุปกรณ์ Android นั้นยากมาก อุปกรณ์ Android จะส่งคืนAndroid
บ่อยพอ ๆ กับ Linux บางเวอร์ชัน ยกตัวอย่างเช่นบนโทรศัพท์ Nexus 5 ทั้งในเบราว์เซอร์ Android Linux armv7l
และผลตอบแทน ในบางกรณีอุปกรณ์ Android สามารถส่งคืนnull
(แทนundefined
) ได้
Android
(พ.ศ. 2551)
Linux
: ดูหมายเหตุด้านบน
null
แอปเปิ้ล
เท่าที่ iOS ดำเนินไป: Safari, Chrome และ Mercury เห็นด้วย แต่ Opera ทำให้สิ่งต่างๆยุ่งเหยิง
iPhone
(พ.ศ. 2550)
iPod
(พ.ศ. 2550)
iPad
(พ.ศ. 2553)
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 บน iPhone ทุกรุ่น (2009)
Pike v7.8 release 517
: Opera Mini 7 บน iPhone ทุกรุ่น (2012)
BlackBerry
FreeBSD
FreeBSD
FreeBSD i386
: โปรเซสเซอร์ x86 (IA-32)
FreeBSD amd64
: โปรเซสเซอร์ AMD x86-64
ลินุกซ์
ไม่น่าเชื่อถืออย่างจริงจังเนื่องจากมีหลายแพลตฟอร์มที่สร้างขึ้นจากสิ่งนี้ ตัวอย่างเช่น Chrome บน ChromeOS หรือ Linux x86-64 ทั้งคู่จะคืนค่าLinux i686
ตามที่รวบรวมไว้
หมายเหตุ Linux ARM แสดงแฟล็กสถาปัตยกรรมเช่นarmv5tej
จะแสดงถึงสถาปัตยกรรม v5 ARM ที่รองรับ Thumb ('T'), ชุดคำสั่ง DSP ('E') และการสนับสนุน Jazelle ('J')
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
Microsoft
แม้แต่ Windows 8 แบบ 64 บิตก็ยังยึดติดWin32
อยู่
OS/2
(พ.ศ. 2537 †)
Pocket PC
Windows
Win16
: Windows 3.1x (1992 †)
Win32
: Windows 95 ขึ้นไป
WinCE
Mozilla (ระบบปฏิบัติการ Firefox)
สตริงว่างจะถูกส่งคืนในเว็บเบราว์เซอร์บน Firefox OS ดูรายงานข้อบกพร่องนี้
KaiOS
เว็บเบราว์เซอร์บน KaiOS (ที่ใช้ Firefox) จะส่งคืนสตริงว่าง (เช่นเดียวกับ Firefox OS) ดูรายงานข้อบกพร่องนี้
นินเทนโด
New Nintendo 3DS
(2557)
Nintendo DSi
(พ.ศ. 2551)
Nintendo 3DS
(2554)
Nintendo Wii
(พ.ศ. 2549)
Nintendo WiiU
(2555)
OpenBSD
Symbian / S40
Nokia_Series_40
(2542 †)
S60
(พ.ศ. 2545 †)
Symbian
: Opera บน Symbian
Symbian OS
ปาล์ม
PalmOS
(พ.ศ. 2539)
webOS
(2552)
โซลาริส
SunOS
SunOS i86pc
SunOS sun4u
: โปรเซสเซอร์ SPARC
โซนี่
PLAYSTATION 3
(พ.ศ. 2549)
PlayStation 4
(2556)
PSP
: PlayStation Portable (2004)
ต่างๆ
HP-UX
: Hewlett-Packard UniX
masking-agent
: ค่านี้จะเปลี่ยนไปเมื่อใช้ Masking Agent สำหรับ Firefox
WebTV OS
X11
: ระบบหน้าต่าง X11
มีอุปกรณ์ที่ไม่อยู่ในรายการนี้หรือไม่? โปรดแสดงความคิดเห็นโดยระบุคุณสมบัติของอุปกรณ์และnavigator.platform
มูลค่าของอุปกรณ์ของคุณ( อย่าลังเลที่จะใช้JSFiddle นี้เพื่อค้นหาค่า)
หวังว่านี่จะช่วยได้
browscap.ini
? โครงการนี้ได้รับการรีบูตเมื่อต้นปีนี้