jQuery 2.0 ลบการตัดสินหมายเลขเวอร์ชันของเบราว์เซอร์ (แนะนำการตรวจจับคุณสมบัติ) นี่คือวิธีการตัดสินดั้งเดิมที่เขียนโดยชาวต่างชาติ รหัสนี้ฉลาดจริงๆ! เข้ากันได้ทั้งแบบสั้นและแบบย้อนหลัง! วิธีการทั่วไปคือ: การค้นหาปกติ USER_AGENT;
อย่างไรก็ตาม เนื่องจากเหตุผลทางประวัติศาสตร์ USER_AGENT จึงไม่ถูกต้องมาโดยตลอดและได้รับการเปลี่ยนแปลงอย่างยุ่งเหยิงโดยผู้ผลิตรายใหญ่ -
ตัวอย่างเช่น:
IE10: Mozilla/5.0 (เข้ากันได้; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
IE11 : Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) เช่น Gecko
สิ่งเหล่านี้ล้วนเป็นสายที่ยุ่งเหยิง - - ใครจะรู้ว่า IE12 จะกลายเป็นอะไร! - -
ดังนั้นการใช้การตรวจจับคุณลักษณะหรือการตรวจจับ USER-AGENT จึงไม่น่าเชื่อถือหรือเข้ากันได้แบบย้อนหลัง!
ขอแนะนำรหัสต่อไปนี้!
คัดลอกรหัสรหัสดังต่อไปนี้:
var _IE = (ฟังก์ชัน () {
var v = 3, div = document.createElement('div'), ทั้งหมด = div.getElementsByTagName('i');
ในขณะที่ (
div.innerHTML = '<!--[ถ้า gt IE ' + (++v) + ']><i></i><![endif]-->',
ทั้งหมด[0]
-
กลับ v > 4 ? v : false;
-
การแจ้งเตือน (_IE);