วัตถุ Navigator มีข้อมูลเกี่ยวกับเบราว์เซอร์:
• AppCodeName - การแสดงสตริงของชื่อรหัสเบราว์เซอร์
• AppName - การแสดงสตริงของชื่อเบราว์เซอร์อย่างเป็นทางการ
• Appversion - การแสดงสตริงของข้อมูลเวอร์ชันเบราว์เซอร์
• Cookieenabled - return true หากเปิดใช้งานคุกกี้มิฉะนั้นจะส่งคืน FALSE
• javaenabled - return true ถ้าเปิดใช้งาน Java มิฉะนั้นจะส่งคืน FALSE
•แพลตฟอร์ม - การแสดงสตริงของแพลตฟอร์มคอมพิวเตอร์ที่ตั้งอยู่เบราว์เซอร์
•ปลั๊กอิน - อาร์เรย์ของปลั๊กอินที่ติดตั้งในเบราว์เซอร์
• taintenabled - ส่งคืนจริงหากเปิดใช้งานคราบข้อมูลมิฉะนั้นส่งคืนเท็จ
• useragent - การแสดงสตริงของส่วนหัวตัวแทนผู้ใช้
สิ่งที่สำคัญที่สุดใน Navigator คือแอตทริบิวต์ useragent ซึ่งส่งคืนสตริงที่มีข้อมูลเช่นเวอร์ชันเบราว์เซอร์
Cookieenabled ก็มีความสำคัญเช่นกัน ใช้เพื่อตรวจสอบว่าเบราว์เซอร์ของผู้ใช้เปิดใช้งานหรือไม่
โดยทั่วไปมีสองวิธีในการตัดสินประเภทเบราว์เซอร์ใน JavaScript หนึ่งคือการแยกแยะพวกเขาขึ้นอยู่กับคุณลักษณะที่เป็นเอกลักษณ์ของเบราว์เซอร์ต่างๆและอื่น ๆ คือการตัดสินโดยการวิเคราะห์แอตทริบิวต์ useragent ของเบราว์เซอร์ (รุ่นสามารถรับได้โดยการวิเคราะห์ผู้ใช้);
ปัญหาความเข้ากันได้สามารถจัดการได้หลังจากกำหนดทั้งประเภทเบราว์เซอร์และเบราว์เซอร์
1. ใช้คุณสมบัติใน useragent เพื่อกำหนดประเภทของเบราว์เซอร์และเวอร์ชัน (ใช้กันทั่วไปวิธีปฏิบัติประกันภัย)
ฟังก์ชั่น getBrowserInfo () {var sys = {}; var ua = navigator.useragent.toLowercase (); var s; (s = ua.match (/msie ([/d.like+)/))? sys.ie = s [1]: (s = ua.match (/firefox // ([/d.]+)/))? sys.firefox = s [1]: (s = ua.match (/chrome // ([/d.]+)/))? sys.opera = s [1]: (s = ua.match (/opera. ([/d.]+)/))? sys.opera = s [1]: (s = ua.match (/เวอร์ชัน // ([/d.]+).*Safari/))? sys.safari = s [1]: 0; if (sys.ie) {return 'ie:' + sys.ie; } if (sys.firefox) {return 'firefox:' + sys.firefox; } if (sys.chrome) {return 'chrome:' + sys.chrome; } if (sys.opera) {return 'opera:' + sys.opera; } if (sys.safari) {return 'safari:' + sys.safari; }} var browser = getBrowserInfo (); var verinfo = (เบราว์เซอร์+""). แทนที่ (/[^0-9.]/ig, ""); // หมายเลขเวอร์ชันหมายเหตุ: Chrome และ Safari มีอยู่ในค่าแอตทริบิวต์ useragent ของเบราว์เซอร์บางตัวเนื่องจาก useragent ของ Chrome ยังมีคุณสมบัติของ Safari ดังนั้นนี่อาจเป็นพื้นฐานสำหรับ Chrome ในการเรียกใช้แอปพลิเคชันเบราว์เซอร์ Safari
2. แยกแยะเบราว์เซอร์ผ่านคุณสมบัติที่เป็นเอกลักษณ์ของแต่ละเบราว์เซอร์ (หมายเหตุ: คุณสมบัติเหล่านี้อาจเปลี่ยนแปลงได้ด้วยเวอร์ชันเบราว์เซอร์หรือเบราว์เซอร์อื่น ๆ อาจเพิ่มคุณสมบัตินี้ทำให้เกิดความล้มเหลวในการตัดสิน)
IE: เท่านั้นที่รองรับการสร้างการควบคุม ActiveX ดังนั้นฟังก์ชัน ActiveXObject ไม่สามารถใช้ได้กับเบราว์เซอร์อื่น เพียงตัดสินว่าวัตถุหน้าต่างมีฟังก์ชั่น ActiveXObject และเป็นที่ชัดเจนว่าเบราว์เซอร์ปัจจุบันคือ IE
Firefox: องค์ประกอบ DOM ใน FF มีฟังก์ชั่น getBoxObjectfor เพื่อรับตำแหน่งและขนาดขององค์ประกอบ DOM นี่เป็นเอกลักษณ์ของ Firefox คุณสามารถบอกได้ว่าเบราว์เซอร์ปัจจุบันคือ Firefox (ฟังก์ชัน getBoundingClientRect ที่สอดคล้องกับ IE)
Opera: Opera มีโลโก้เบราว์เซอร์พิเศษ - Window.opera Property
Safari: ฟังก์ชั่น opendatabase ไม่สามารถใช้ได้ในเบราว์เซอร์อื่นและสามารถใช้เป็นสัญญาณให้กับผู้ตัดสิน Safari
Chrome: เช่นเดียวกับ FF มีฟังก์ชั่น MessageEvent แต่ Chrome ไม่มีฟังก์ชั่น getBoxObjectfor ของ FF ตามเงื่อนไขทั้งสองนี้เบราว์เซอร์ Chrome สามารถตัดสินได้
var sys = {}; var ua = navigator.useragent.toLowerCase (); if (window.activexobject) {sys.ie = ua.match (/msie ([/d.like+)/) if (window.messageEvent &&! document.getBoxObjectfor) {sys.chrome = ua.match (/chrome // ([/d.]+)/) [1]} อื่นถ้า (window.opera) {sys.opera = ua.match (/opera. (/d.]+) ua.match (/version // ([/d.]+)/) [1];}ระดับมี จำกัด และความผิดพลาดที่ไม่เหมาะสมในบทความนั้นหลีกเลี่ยงไม่ได้ การวิจารณ์การแก้ไขคำแนะนำและความคิดเห็นยินดีต้อนรับ บทความจะได้รับการแก้ไขและปรับปรุงเป็นครั้งคราว ขอบคุณ!
วิธีง่ายๆในการรับและตัดสินข้อมูลเวอร์ชันเบราว์เซอร์ในบทความข้างต้น JS คือเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น