อัปเดตตุลาคม 2015
คำตอบนี้ถูกโพสต์เมื่อหลายปีก่อนและตอนนี้คุณควรลองใช้X-UA-Compatible
แท็กบนไซต์ของคุณหรือไม่ เมื่อมีการเปลี่ยนแปลงที่ Microsoft ทำกับเบราว์เซอร์ (เพิ่มเติมในรายละเอียดด้านล่าง)
ขึ้นอยู่กับเบราว์เซอร์ Microsoft ที่คุณสนับสนุนคุณอาจไม่จำเป็นต้องใช้X-UA-Compatible
แท็กต่อไป หากคุณต้องการรองรับ IE9 หรือ IE8 ฉันขอแนะนำให้ใช้แท็ก หากคุณสนับสนุนเฉพาะเบราว์เซอร์ล่าสุด (IE11 และ / หรือ Edge) ดังนั้นฉันจะลองวางแท็กนี้โดยสิ้นเชิง หากคุณใช้ Twitter Bootstrap และจำเป็นต้องกำจัดคำเตือนการตรวจสอบความถูกต้องแท็กนี้จะต้องปรากฏตามลำดับที่ระบุ ข้อมูลเพิ่มเติมด้านล่าง:
X-UA-Compatible
เมตาแท็กช่วยให้ผู้เขียนเว็บที่จะเลือกสิ่งที่รุ่นของ Internet Explorer หน้าควรจะกลายเป็น IE11 ได้ทำการเปลี่ยนแปลงโหมดเหล่านี้ ดูหมายเหตุ IE11 ด้านล่าง Microsoft Edgeเบราว์เซอร์ที่แทนที่ IE11 จะให้เกียรติX-UA-Compatible
เมตาแท็กในบางสถานการณ์เท่านั้น ดูบันทึกย่อของ Microsoft Edge ด้านล่าง
ตามที่ Microsoft ระบุเมื่อใช้X-UA-Compatible
แท็กมันควรจะสูงที่สุดเท่าที่จะเป็นไปได้ในเอกสารของคุณhead
:
หากคุณใช้แท็ก META ที่ใช้ร่วมกันได้กับ X-UA คุณต้องการวางไว้ใกล้กับส่วนหัวของหน้ามากที่สุด Internet Explorer เริ่มตีความมาร์กอัปโดยใช้เวอร์ชันล่าสุด เมื่อ Internet Explorer พบแท็ก META ที่เข้ากันได้กับ X-UA มันจะเริ่มต้นใหม่โดยใช้เอ็นจิ้นของรุ่นที่กำหนด นี่คือประสิทธิภาพการทำงานเนื่องจากเบราว์เซอร์ต้องหยุดและเริ่มการวิเคราะห์เนื้อหาใหม่
นี่คือตัวเลือกของคุณ:
- "IE = ขอบ"
- "IE = 11"
- "IE = EmulateIE11"
- "IE = 10"
- "IE = EmulateIE10"
- "IE = 9"
- "IE = EmulateIE9
- "IE = 8"
- "IE = EmulateIE8"
- "IE = 7"
- "IE = EmulateIE7"
- "IE = 5"
เพื่อพยายามทำความเข้าใจความหมายของแต่ละสิ่งนี่คือคำจำกัดความที่ให้ไว้โดย Microsoft:
Internet Explorer รองรับโหมดความเข้ากันได้ของเอกสารจำนวนมากที่เปิดใช้งานคุณสมบัติที่แตกต่างกันและอาจส่งผลต่อวิธีแสดงเนื้อหา:
โหมด Edge บอกให้ Internet Explorer แสดงเนื้อหาในโหมดสูงสุดที่มี ด้วย Internet Explorer 9 สิ่งนี้เทียบเท่ากับโหมด IE9 หาก Internet Explorer ในอนาคตรองรับโหมดความเข้ากันได้สูงกว่าหน้าเว็บที่ตั้งค่าเป็นโหมด edge จะปรากฏในโหมดสูงสุดที่รองรับโดยเวอร์ชันนั้น หน้าเดียวกันเหล่านั้นจะยังคงปรากฏในโหมด IE9 เมื่อดูด้วย Internet Explorer 9 Internet Explorer รองรับจำนวนโหมดความเข้ากันได้ของเอกสารที่เปิดใช้งานคุณสมบัติที่แตกต่างกันและอาจส่งผลต่อวิธีแสดงเนื้อหา:
โหมด IE11 ให้การสนับสนุนสูงสุดสำหรับมาตรฐานอุตสาหกรรมที่กำหนดขึ้นและเกิดขึ้นใหม่รวมถึง HTML5, CSS3 และอื่น ๆ
โหมด IE10 ให้การสนับสนุนสูงสุดสำหรับมาตรฐานอุตสาหกรรมที่กำหนดขึ้นและเกิดขึ้นใหม่รวมถึง HTML5, CSS3 และอื่น ๆ
โหมด IE9 ให้การสนับสนุนสูงสุดพร้อมใช้งานสำหรับมาตรฐานอุตสาหกรรมที่กำหนดขึ้นและเกิดขึ้นใหม่รวมถึง HTML5 (Working Draft), W3C Cascading Style Sheets ระดับ 3 ข้อมูลจำเพาะ (Working Draft), ข้อกำหนดกราฟิกแบบเวกเตอร์ Scalable Vector (SVG) 1.0 และอื่น ๆ [หมายเหตุบรรณาธิการ: IE 9 ไม่รองรับภาพเคลื่อนไหว CSS3]
โหมด IE8 รองรับมาตรฐานที่กำหนดขึ้นมากมายรวมถึง W3C Cascading Style Sheets Level 2.1 Specification และ W3C Selectors API; มันยังให้การสนับสนุนที่ จำกัด สำหรับ W3C Cascading Style Sheets ระดับ 3 ข้อมูลจำเพาะ (Working Draft) และมาตรฐานอื่น ๆ ที่เกิดขึ้นใหม่
โหมด IE7 แสดงผลเนื้อหาราวกับว่าถูกแสดงในโหมดมาตรฐานโดย Internet Explorer 7 ไม่ว่าหน้านั้นจะมีคำสั่งหรือไม่ก็ตาม
โหมดการจำลอง IE9 บอกให้ Internet Explorer ใช้คำสั่งเพื่อกำหนดวิธีแสดงเนื้อหา คำสั่งโหมดมาตรฐานจะแสดงในโหมด IE9 และคำสั่งโหมด quirks จะแสดงในโหมด IE5 ต่างจากโหมด IE9 โหมด Emulate IE9 จะเคารพคำสั่ง
โหมดการจำลอง IE8 บอกให้ Internet Explorer ใช้คำสั่งเพื่อกำหนดวิธีแสดงเนื้อหา คำสั่งโหมดมาตรฐานจะแสดงในโหมด IE8 และคำสั่งโหมด quirks จะแสดงในโหมด IE5 ต่างจากโหมด IE8 โหมด Emulate IE8 จะเคารพคำสั่ง
โหมดการจำลอง IE7 บอกให้ Internet Explorer ใช้คำสั่งเพื่อกำหนดวิธีแสดงเนื้อหา คำสั่งโหมดมาตรฐานจะแสดงในโหมดมาตรฐานของ Internet Explorer 7 และคำสั่งโหมด quirks จะแสดงในโหมด IE5 ซึ่งแตกต่างจากโหมด IE7 โหมด Emulate IE7 จะเคารพคำสั่ง สำหรับเว็บไซต์หลายแห่งนี่เป็นโหมดความเข้ากันได้ที่ต้องการ
โหมด IE5 แสดงผลเนื้อหาราวกับว่าถูกแสดงในโหมด quirks โดย Internet Explorer 7 ซึ่งคล้ายกับวิธีแสดงเนื้อหาใน Microsoft Internet Explorer 5
IE10 NOTE:ตั้งแต่ IE10 โหมด quirks จะทำงานแตกต่างจากในเบราว์เซอร์เวอร์ชันก่อนหน้า ใน IE9 และเวอร์ชั่นก่อนหน้านี้โหมด quirks จะ จำกัด เว็บเพจไว้ที่ฟีเจอร์ที่ IE5.5 รองรับ ใน IE10 โหมด quirks เป็นไปตามความแตกต่างที่ระบุไว้ในข้อกำหนดของ HTML5
โดยส่วนตัวฉันมักจะเลือกhttp-equiv="X-UA-Compatible" content="IE=edge"
เมตาแท็กเนื่องจากเวอร์ชันเก่ามีข้อบกพร่องมากมายและฉันไม่ต้องการให้ IE ตัดสินใจเข้าสู่ "โหมดความเข้ากันได้" และแสดงเว็บไซต์ของฉันเป็น IE7 vs IE8 หรือ 9 ฉันชอบเวอร์ชันล่าสุดของ IE
IE11
จากMicrosoft :
เริ่มต้นด้วย IE11 โหมด edge เป็นโหมดเอกสารที่ต้องการ มันแสดงถึงการสนับสนุนสูงสุดสำหรับมาตรฐานที่ทันสมัยพร้อมใช้งานกับเบราว์เซอร์
ใช้การประกาศประเภทเอกสาร HTML5 เพื่อเปิดใช้งานโหมด edge:
<!doctype html>
โหมด Edge ได้รับการแนะนำใน Internet Explorer 8 และเปิดให้ใช้งานในแต่ละรุ่นถัดไป โปรดทราบว่าฟีเจอร์ที่สนับสนุนโดยโหมด edge นั้น จำกัด เฉพาะคุณสมบัติที่เบราว์เซอร์รุ่นที่รองรับแสดงผล
เริ่มต้นด้วย IE11 โหมดเอกสารจะเลิกใช้แล้วและไม่ควรใช้อีกต่อไปยกเว้นเป็นการชั่วคราว ตรวจสอบให้แน่ใจว่าได้อัปเดตไซต์ที่ต้องอาศัยคุณสมบัติดั้งเดิมและโหมดเอกสารเพื่อสะท้อนถึงมาตรฐานที่ทันสมัย
หากคุณต้องกำหนดเป้าหมายโหมดเอกสารเฉพาะเพื่อให้ไซต์ของคุณทำงานในขณะที่คุณทำงานซ้ำเพื่อรองรับมาตรฐานและคุณสมบัติที่ทันสมัยโปรดทราบว่าคุณกำลังใช้คุณสมบัติการเปลี่ยนผ่านซึ่งอาจไม่สามารถใช้ได้ในรุ่นอนาคต
หากคุณใช้ส่วนหัวที่เข้ากันได้กับ x-ua เพื่อกำหนดเป้าหมายโหมดเอกสารดั้งเดิมเป็นไปได้ว่าไซต์ของคุณจะไม่สะท้อนประสบการณ์ที่ดีที่สุดสำหรับ IE11
Microsoft Edge (การแทนที่สำหรับ Internet Explorer ที่มาพร้อมกับ Windows 10)
ข้อมูลเกี่ยวกับX-UA-Compatible
เมตาแท็กสำหรับรุ่น "Edge" ของ IE จาก Microsoft :
แนะนำโหมดเอกสาร Edge“ ใช้ชีวิต”
ตามที่เราประกาศเมื่อเดือนสิงหาคม 2556 เรากำลังปรับลดโหมดเอกสารในขณะที่ IE11 ด้วยการอัปเดตแพลตฟอร์มล่าสุดของเราความต้องการโหมดเอกสารดั้งเดิมนั้น จำกัด อยู่ที่แอปพลิเคชันเว็บแบบดั้งเดิมขององค์กรเป็นหลัก ด้วยการเปลี่ยนแปลงสถาปัตยกรรมใหม่โหมดเอกสารดั้งเดิมเหล่านี้จะถูกแยกออกจากการเปลี่ยนแปลงในโหมด "Living" Edge ซึ่งจะช่วยรับประกันความเข้ากันได้ในระดับที่สูงขึ้นมากสำหรับลูกค้าที่พึ่งพาโหมดเหล่านั้นและช่วยให้เราเคลื่อนไหวได้เร็วขึ้นในการปรับปรุง Edge . IE จะยังคงใช้โหมดเอกสารที่ให้บริการโดยไซต์อินทราเน็ตไซต์ในรายการมุมมองที่เข้ากันได้และเมื่อใช้กับโหมดองค์กรเท่านั้น
ไซต์อินเทอร์เน็ตสาธารณะจะแสดงผลด้วยแพลตฟอร์มโหมด Edge ใหม่ (ละเว้น X-UA-Compatible) เป็นเป้าหมายของเราที่ Edge คือโหมดเอกสาร "ใช้ชีวิต" จากที่นี่และไม่มีโหมดเอกสารเพิ่มเติมที่จะนำไปใช้ในอนาคต
ด้วยการเปลี่ยนแปลงใน Microsoft Edge ที่ไม่รองรับโหมดเอกสารในกรณีส่วนใหญ่ Microsoft มีเครื่องมือในการสแกนไซต์ของคุณเพื่อตรวจสอบและดูว่ามีรหัสที่ไม่รองรับ Edge หรือไม่
Chrome = 1 ข้อมูลสำหรับ IE
นอกจากนี้ยังมีที่คุณสามารถใช้หรือใช้ร่วมกับหนึ่งในตัวเลือกข้างต้นเช่น:chrome=1
สำหรับ Chrome Frame ของ Google ซึ่งกำหนดเป็น:<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
chrome=1
Google Chrome Frame เป็นปลั๊กอินของเบราว์เซอร์โอเพนซอร์ซ ผู้ใช้ที่ติดตั้งปลั๊กอินสามารถเข้าถึงเทคโนโลยีเว็บแบบเปิดของ Google Chrome และเครื่องมือจาวาสคริปต์ที่รวดเร็วเมื่อเปิดหน้าเว็บในเบราว์เซอร์
Google Chrome Frame ช่วยยกระดับประสบการณ์การท่องเว็บของคุณใน Internet Explorer ได้อย่างราบรื่น มันแสดงเว็บไซต์ที่เปิดใช้งาน Google Chrome Frame โดยใช้เทคโนโลยีการแสดงผลของ Google Chrome ให้คุณเข้าถึงคุณลักษณะล่าสุดของ HTML5 รวมถึงคุณลักษณะด้านประสิทธิภาพและความปลอดภัยของ Google Chrome โดยไม่ขัดจังหวะการใช้งานเบราว์เซอร์ตามปกติของคุณ
เมื่อติดตั้ง Google Chrome Frame เว็บจะดีขึ้นโดยที่คุณไม่ต้องคิดถึงมัน
แต่สำหรับปลั๊กอินนั้นในการทำงานคุณต้องใช้chrome=1
ในX-UA-Compatible
เมตาแท็ก
ข้อมูลเพิ่มเติมเกี่ยวกับ Chrome Frame สามารถพบได้ที่นี่
หมายเหตุ: Google Chrome Frame ทำงานเฉพาะสำหรับIE6 ผ่าน IE9และเกษียณอายุราชการในวันที่ 25 กุมภาพันธ์ 2014 ข้อมูลเพิ่มเติมสามารถพบได้ที่นี่ ขอบคุณ @mck สำหรับลิงค์
การตรวจสอบ:
HTML5 :
หน้าจะตรวจสอบการใช้W3 ตรวจสอบ<meta http-equiv="X-UA-Compatible" content="IE=Edge">
เฉพาะเมื่อใช้ สำหรับค่าอื่น ๆ มันจะโยนข้อผิดพลาด: A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attribute with the value IE=edge.
ในคำอื่น ๆ ถ้าคุณมีIE=edge,chrome=1
มันจะไม่ตรวจสอบ ฉันเพิกเฉยต่อข้อผิดพลาดนี้อย่างสมบูรณ์เนื่องจากเบราว์เซอร์สมัยใหม่ไม่สนใจบรรทัดของรหัสนี้
หากคุณต้องมีรหัสที่ถูกต้องสมบูรณ์ให้ลองทำสิ่งนี้ในระดับเซิร์ฟเวอร์โดยการตั้งค่าส่วนหัว HTTP ตามที่ทราบ Microsoft กล่าวIf both of these instructions are sent (meta and HTTP), the developer's preference (meta element) takes precedence over the web server setting (HTTP header).
ดูคำตอบของ olibreหรือคำตอบของ bitinnสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีตั้งค่าส่วนหัว HTTP
XHTML
ไม่มีปัญหาในการตรวจสอบความถูกต้องเมื่อใช้<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
งานตราบเท่าที่แท็กปิดอย่างถูกต้อง (เช่น/>
vs >
)
Twitter Bootstrap
แท็กนี้ได้รับการแนะนำอย่างมากจากทีม Bootstrap ตั้งแต่อย่างน้อยปี 2014 และBootlint ผู้ให้ยืมที่แต่งโดยทีม twbs จะยังคงเตือนเมื่อแท็กถูกละไว้ linter แยกแยะระหว่างคำเตือนและข้อผิดพลาดและความรุนแรงของการละเว้นแท็กนี้อาจถูกพิจารณาว่าเป็นเรื่องรอง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการX-UA-Compatible
มองเห็นของ Microsoft เว็บไซต์กำหนดความเข้ากันได้ของเอกสาร
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่ง IE สนับสนุนดูcaniuse.com
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความต้องการเงินทุน Twitter, เห็นโครงการ bootlint หน้าวิกิพีเดีย