บทความบทนำของ wulin.com (www.vevb.com): วิธีทำให้ IE สนับสนุนองค์ประกอบ HTML5 ใหม่
เมื่อเราใช้องค์ประกอบ HTML5 ใหม่แท็กที่สามารถทำงานได้ดีในเบราว์เซอร์อื่น ๆ (เช่นส่วนบทความส่วนหัวและส่วนท้าย) เป็นความท้าทายสำหรับเบราว์เซอร์ IE เหตุผลสำหรับปัญหาคือกลไกการแยกวิเคราะห์ของเบราว์เซอร์ IE องค์ประกอบแท็กเหล่านี้ที่ไม่สามารถรับรู้ได้นำไปสู่การแสดงข้อผิดพลาดของวัตถุเอกสาร
เพื่อแสดงปัญหานี้โปรดดูรหัสสั้น ๆ ต่อไปนี้:
1
2
3
4
5
<body>
<section>
<p> นี่เป็นตัวอย่าง </p>
</section>
</body>
น่าแปลกที่ IE6-IE8 ไม่สามารถแยกแท็ก <section> ได้ทำให้โหนด DOM มีลักษณะดังต่อไปนี้:
โปรดทราบว่า IE เบราว์เซอร์สร้างองค์ประกอบที่ว่างเปล่าสององค์ประกอบ หนึ่งคือส่วนและอีกส่วนคือ /ส่วน มันเป็นความจริงที่ต้องใช้แท็กสุดท้ายที่ไม่ได้รับการยอมรับว่าเป็นแท็กเริ่มต้น
นี่คือวิธีที่สะดวกในการแก้ปัญหานี้ซึ่งถูกนำไปใช้เป็นครั้งแรก แนวคิดพื้นฐานที่สุดของวิธีนี้คือการสร้างองค์ประกอบที่ไม่รู้จักโดยใช้ document.createElement (tagname) ตัวแยกวิเคราะห์ IE จะรับรู้องค์ประกอบเหล่านี้และวิเคราะห์และแสดงพวกเขาในวิธีที่สมเหตุสมผลและมีประสิทธิภาพมากขึ้น ตัวอย่างเช่นเราสามารถใช้รหัสต่อไปนี้:
1
Document.createElement (ส่วน);
ด้วยวิธีนี้รหัสด้านบนจะมีลักษณะดังต่อไปนี้หลังจากการแยกวิเคราะห์:
เทคโนโลยีนี้ช่วยให้ IE6, IE7 และ IE8 เพื่อแยกวิเคราะห์องค์ประกอบที่ไม่รู้จัก
เพื่อความสะดวก Remy Sharp เขียนโค้ดชิ้นหนึ่งที่สามารถปรับปรุงการแสดงผลขององค์ประกอบ HTML5 ใหม่ซึ่งคุณสามารถดาวน์โหลดและใช้งานได้ง่าย ๆ เผยแพร่สคริปต์ง่ายๆ
รหัสนี้ถูกต้องสำหรับเบราว์เซอร์อื่น ๆ เช่น Opera 9, Firefox 3 และ Safari 3 เพื่อแยกวิเคราะห์องค์ประกอบใหม่เหล่านี้ตามค่าเริ่มต้น แม้ว่าจะมีปัญหาบางอย่างใน Firefox2 แต่ไม่พบวิธีแก้ปัญหาเหล่านี้ อย่างไรก็ตามเมื่อเทียบกับความเร็วในการอัปเดตของ IE Firefox ไม่ใช่ปัญหา
เราไม่สามารถใช้ป้ายกำกับที่สร้างขึ้นโดยวิธีนี้เพื่อพิมพ์สไตล์ หากคุณต้องการทราบว่ารูปแบบการพิมพ์ IE นั้นถูกต้องหรือไม่โปรดตรวจสอบบทความต่อไปนี้พิมพ์องค์ประกอบ HTML5 ในเบราว์เซอร์ IE (เช่น Print Protector)
ภาษาจีนดั้งเดิม: ทำอย่างไรให้ IE สนับสนุนองค์ประกอบ HTML5 ใหม่
ภาษาอังกฤษต้นฉบับ: สนับสนุนองค์ประกอบใหม่ใน IE