<meta http-equiv =“ X-UA-Compatible” content =“ IE = edge”> ทำอะไร


1437

ความแตกต่างคืออะไรถ้าหน้าเว็บหนึ่งเริ่มต้นด้วย

<!DOCTYPE html> 
<html> 
  <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 

และถ้าหน้าเริ่มต้นด้วย

<!DOCTYPE html> 
<html> 
  <head> 
     <!-- without X-UA-Compatible meta -->

หากไม่มีความแตกต่างฉันคิดว่าฉันสามารถละเว้นX-UA-Compatibleเมตาส่วนหัวเนื่องจากฉันเพียงต้องการให้เรนเดอร์ในโหมดมาตรฐานเกือบทุกรุ่น IE

คำตอบ:


1703

อัปเดตตุลาคม 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 หน้าวิกิพีเดีย


40
หากฉันไม่มี "X-UA-Compatible" ในส่วนหัวจะเกิดอะไรขึ้น
มอร์แกนเฉิง

45
โดยทั่วไปสิ่งที่เกิดขึ้นคือเมื่อคุณมี X-UA-Compatible มันจะบอกวิธีการทำงานของ IE เกี่ยวกับค่าที่คุณตั้งค่า (IE = edge ฯลฯ ) หากไม่มี IE จะแสดงไซต์ว่ามันคิดอย่างไรดีที่สุด . นั่นอาจเป็นโหมดความเข้ากันได้หรืออาจเป็น IE เวอร์ชันล่าสุด สิ่งที่ Microsoft / IE คิดว่าดีที่สุด ทำให้รู้สึก?
L84

2
@TravisJ - จากความเข้าใจของฉันโหมดสูงสุดที่มีอยู่โดยทั่วไปหมายความว่า IE 8 สามารถรองรับได้ถึงโหมด IE8, IE9 สามารถรองรับโหมด IE9 และอื่น ๆ ฉันเพิ่มคำจำกัดความบางอย่างสำหรับแต่ละโหมดโดย Microsoft
L84

10
@AdrienBe - ฉันเห็นด้วยอย่างสมบูรณ์! จนถึงตอนนี้ IE 10 นั้นดีที่สุดสำหรับฉัน แต่ฉันดูถูกรุ่นอื่น ๆ ครั้งหนึ่งฉันมีการตั้งค่าหน้าเว็บที่มีเอฟเฟกต์บางส่วนประมาณ 200-300 บรรทัดของ HTML และการเข้ารหัสประมาณ 20 นาที เพื่อให้ IE ทำงานฉันต้องเพิ่มโค้ดอีก 1,000 บรรทัด (ส่วนใหญ่เป็นจาวาสคริปต์ของบุคคลที่สาม) และทำงาน 2-3 ชั่วโมง! ฉันเกลียด IE =>
L84

9
Google Chrome Frame จะถูกยกเลิกในเดือนมกราคม 2014: blog.chromium.org/2013/06/retiring-chrome-frame.html
mck

339

ใช้content="IE=edge,chrome=1"   ข้ามX-UA-Compatibleโหมดอื่น ๆ

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
                                   -------------------------- 
  • ไม่มีไอคอนความเข้ากันได้
    แถบที่อยู่ IE9 ไม่แสดงปุ่มมุมมองที่เข้ากันได้
    และหน้าเว็บจะไม่แสดงเมนูรูปภาพและกล่องข้อความที่ไม่เหมาะสม

  • คุณสมบัติ
    เมตาแท็กนี้จำเป็นต้องเปิดใช้งานjavascript::JSON.parse()บน IE8
    (แม้<!DOCTYPE html>จะมีอยู่)

  • ความถูกต้องการ
    แสดงผล / การดำเนินการของ HTML / CSS / JavaScript ที่ทันสมัยมีความถูกต้องมากขึ้น (ดีกว่า)

  • ผลการดำเนินงาน เครื่องมือการแสดงผลตรีศูลควรทำงานได้เร็วขึ้นในของขอบโหมด


การใช้

ใน HTML ของคุณ

<!DOCTYPE html> 
<html> 
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

หรือดีกว่าในการกำหนดค่าเว็บเซิร์ฟเวอร์ของคุณ:
(โปรดดูคำตอบของ RiaD )

  • Apacheตามที่เสนอโดย pixeline

    <IfModule mod_setenvif.c>
      <IfModule mod_headers.c>
        BrowserMatch MSIE ie
        Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
      </IfModule>
    </IfModule>
    <IfModule mod_headers.c>
      Header append Vary User-Agent
    </IfModule>
  • Nginxตามที่เสนอโดย Stef Pause

    server {
      #...
      add_header X-UA-Compatible "IE=Edge,chrome=1";
    }
  • วานิชพร็อกซี่ตามที่เสนอโดย Lucas Riutzel

    sub vcl_deliver {
      if( resp.http.Content-Type ~ "text/html" ) {
        set resp.http.X-UA-Compatible = "IE=edge,chrome=1";
      }
    }
  • IIS (ตั้งแต่ v7)

    <configuration>
      <system.webServer>
         <httpProtocol>
            <customHeaders>
               <add name="X-UA-Compatible" value="IE=edge,chrome=1" />
            </customHeaders>
         </httpProtocol>
      </system.webServer>
    </configuration>

Microsoft แนะนำโหมด Edgeตั้งแต่ IE11

ตามที่สังเกตเห็นโดยLynda (ดูความคิดเห็น) การเปลี่ยนแปลงความเข้ากันได้ใน IE11แนะนำโหมด Edge :

เริ่มต้นด้วย IE11 โหมด edge เป็นโหมดเอกสารที่ต้องการ มันแสดงถึงการสนับสนุนสูงสุดสำหรับมาตรฐานที่ทันสมัยพร้อมใช้งานกับเบราว์เซอร์

แต่ตำแหน่งของ Microsoft ไม่ชัดเจน หน้า MSDNอื่นไม่แนะนำโหมด Edge :

เนื่องจากโหมด Edge บังคับให้เปิดหน้าเว็บทั้งหมดในโหมดมาตรฐานไม่ว่าจะเป็นรุ่นใดของ Internet Explorer คุณอาจต้องใช้สิ่งนี้กับทุกหน้าที่ดูด้วย Internet Explorer อย่าทำเช่นนี้เนื่องจากX-UA-Compatibleส่วนหัวได้รับการสนับสนุนเริ่มต้นด้วย Windows Internet Explorer 8 เท่านั้น

Microsoft แนะนำให้ใช้แทน<!DOCTYPE html>:

หากคุณต้องการให้ Internet Explorer รุ่นที่รองรับทั้งหมดเปิดหน้าเว็บของคุณในโหมดมาตรฐานให้ใช้การประกาศชนิดเอกสาร HTML5 [... ]

ดังที่Ricardoอธิบาย (ในความคิดเห็นด้านล่าง) DOCTYPE (HTML4, XHTML1 ... ) ใด ๆ สามารถใช้เพื่อเรียกใช้โหมดมาตรฐานไม่ใช่ DOCTYPE ของ HTML5 สิ่งสำคัญคือต้องมี DOCTYPE ในหน้าเสมอ

Clara Onagerยังสังเกตเห็นได้ในโหมดระบุเอกสารรุ่นเก่า :

โหมด Edge มีไว้สำหรับการทดสอบเท่านั้น ห้ามใช้ในสภาพแวดล้อมการผลิต

เป็นเรื่องสับสนที่Usman Yคิดว่าClara Onagerกำลังพูดถึง:

ตัวอย่าง [... ] มีไว้เพื่อเป็นตัวอย่างเท่านั้น ห้ามใช้ในสภาพแวดล้อมการผลิต

<meta http-equiv="X-UA-Compatible" content="IE=7,9,10" >

ในส่วนที่เหลือของคำตอบนี้ฉันจะอธิบายเพิ่มเติมว่าทำไมการใช้content="IE=edge,chrome=1"เป็นวิธีปฏิบัติที่ดีในการผลิต


ประวัติศาสตร์

เป็นเวลาหลายปี (2000-2008) ส่วนแบ่งตลาด IE เป็นมากกว่า 80% และ IE v6ถือเป็นมาตรฐานอย่างแท้จริง (ส่วนแบ่งการตลาด 80% ถึง 97% ในปี 2003 , 2004, 2005 และ 2006สำหรับ IE6 เท่านั้นส่วนแบ่งการตลาดที่มากขึ้นกับ IE ทุกรุ่น)

เนื่องจาก IE6 ไม่เคารพมาตรฐานเว็บผู้พัฒนาจึงต้องทดสอบเว็บไซต์โดยใช้ IE6 สถานการณ์ที่เป็นที่ดีสำหรับ Microsoft (MS) เป็นนักพัฒนาเว็บที่มีการซื้อผลิตภัณฑ์ MS (เช่น IE ไม่สามารถใช้งานได้โดยไม่ต้องซื้อ Windows) และมันก็มากขึ้นการทำกำไรจะอยู่ที่ไม่สอดคล้อง (เช่นไมโครซอฟท์อยากจะเป็นมาตรฐานไม่รวมอื่น ๆ บริษัท )

ดังนั้นเว็บไซต์จำนวนมากจึงเป็นไปตามมาตรฐาน IE6 เท่านั้นและเนื่องจาก IE ไม่สอดคล้องกับมาตรฐานเว็บเว็บไซต์เหล่านี้จึงไม่ได้รับการแสดงผลอย่างดีบนเบราว์เซอร์ที่ได้มาตรฐาน แม้เลวเว็บไซต์จำนวนมากที่จำเป็นเท่านั้น IE

อย่างไรก็ตามในเวลานี้ Mozilla เริ่มทำการพัฒนา Firefox โดยคำนึงถึงมาตรฐานเว็บมากที่สุดเท่าที่จะเป็นไปได้ เนื่องจากนักพัฒนาเว็บต้องการใช้ฟีเจอร์มาตรฐานเว็บใหม่มากขึ้นเว็บไซต์จึงได้รับการสนับสนุนจาก Firefox มากกว่า IE

เมื่อส่วนแบ่งการตลาดของ IE ลดลง MS ตระหนักดีว่าการเข้าพักมาตรฐานไม่สอดคล้องกันนั้นไม่ใช่ความคิดที่ดี ดังนั้น MS จึงเริ่มปล่อย IE เวอร์ชันใหม่ (IE8 / IE9 / IE10) ซึ่งเป็นไปตามมาตรฐานเว็บมากขึ้นเรื่อย ๆ


ปัญหาที่เข้ากันไม่ได้กับเว็บ

แต่ปัญหาคือเว็บไซต์ทั้งหมดที่ออกแบบมาสำหรับ IE6: Microsoft ไม่สามารถปล่อย IE เวอร์ชันใหม่ที่เข้ากันไม่ได้กับเว็บไซต์ที่ออกแบบโดย IE6 เก่าเหล่านี้ แทนที่จะเป็นการลดความน่าเชื่อถือของเวอร์ชัน IE ที่เว็บไซต์ได้รับการออกแบบ MS ขอให้นักพัฒนาเพิ่มข้อมูลเพิ่มเติม ( X-UA-Compatible) ในหน้าของพวกเขา

IE6 ยังคงใช้อยู่ในปี 2559

ทุกวันนี้ IE6 ยังคงใช้งานอยู่(0.7% ในปี 2559) (4.5% ในเดือนมกราคม 2014) และบางเว็บไซต์อินเทอร์เน็ตยังคงเป็นไปตามมาตรฐาน IE6 เท่านั้น เว็บไซต์ / แอปพลิเคชันอินทราเน็ตบางตัวผ่านการทดสอบโดยใช้ IE6 อินทราเน็ตบางเว็บไซต์ทำงานได้ 100% บน IE6 เท่านั้น บริษัท / แผนกเหล่านี้ต้องการเลื่อนการโอนย้ายค่าใช้จ่าย: ลำดับความสำคัญอื่น ๆ ไม่มีใครรู้ว่ามีการใช้งานเว็บไซต์ / แอปพลิเคชันอย่างไรเจ้าของเว็บไซต์ / แอปพลิเคชันรุ่นเก่าล้มละลาย ...

ประเทศจีนคิดเป็น 50% ของการใช้งาน IE6 ในปี 2556 แต่อาจเปลี่ยนแปลงได้ในปีต่อ ๆ ไปเช่น กระจายจีนลินุกซ์จะถูกออกอากาศ

มั่นใจกับทักษะการใช้เว็บของคุณ

หากคุณ (พยายาม) http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"มาตรฐานเว็บเคารพคุณก็สามารถใช้งานเสมอ เพื่อให้เข้ากันได้กับเบราว์เซอร์เก่าเพียงหลีกเลี่ยงการใช้คุณสมบัติเว็บล่าสุด: ใช้ชุดย่อยที่รองรับโดยเบราว์เซอร์ที่เก่าแก่ที่สุดที่คุณต้องการสนับสนุน หรือหากคุณต้องการที่จะไปต่อไปคุณอาจนำมาใช้เป็นแนวคิดGraceful ย่อยสลาย , การเพิ่มประสิทธิภาพก้าวหน้าและสร้างความรำคาญ JavaScript (คุณอาจจะยินดีที่จะอ่านนักพัฒนาเว็บควรพิจารณาอะไรบ้าง )

อย่าสนใจเกี่ยวกับการแสดงผลเวอร์ชัน IE ที่ดีที่สุด: นี่ไม่ใช่งานของคุณเนื่องจากเบราว์เซอร์จะต้องสอดคล้องกับมาตรฐานเว็บ หากเว็บไซต์ของคุณเป็นไปตามมาตรฐานและใช้คุณสมบัติล่าสุดในระดับปานกลางดังนั้นเบราว์เซอร์จะต้องสอดคล้องกับเว็บไซต์ของคุณเบราว์เซอร์จะต้องมีความสอดคล้องกับเว็บไซต์ของคุณ

นอกจากนี้เนื่องจากมีแคมเปญมากมายที่จะฆ่า IE6 ( IE6 ไม่มากไปกว่านั้นคือแคมเปญ MS ) ทุกวันนี้คุณอาจหลีกเลี่ยงการเสียเวลากับการทดสอบ IE!

ประสบการณ์ IE6 ส่วนตัว

ในปี 2552-2555 ฉันทำงานให้กับ บริษัท ที่ใช้ IE6 เนื่องจากอนุญาตเบราว์เซอร์อย่างเป็นทางการเดียวเบราว์เซอร์เดียวอย่างเป็นทางการได้รับอนุญาตฉันต้องติดตั้งเว็บไซต์อินทราเน็ตสำหรับ IE6 เท่านั้น ฉันตัดสินใจที่จะเคารพมาตรฐานเว็บ แต่ใช้ชุดย่อยที่ใช้ IE6 ได้ (HTML / CSS / JS)

มันยาก แต่เมื่อ บริษัท เปลี่ยนมาใช้ IE8 เว็บไซต์ก็ยังแสดงผลได้ดีเพราะฉันใช้ Firefox และfirebugเพื่อตรวจสอบความเข้ากันได้กับเว็บมาตรฐาน;)


2
'โหมด Edge มีไว้สำหรับการทดสอบเท่านั้น ห้ามใช้ในสภาพแวดล้อมการผลิต ' ดูmsdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx
Carl Onager

5
โปรด @ClaraOnager ใช้เวลาอธิบายสิ่งที่ผิดในคำตอบของฉัน (จากมุมมองของคุณ) แม้ว่า MS ไม่แนะนำให้ใช้โหมด Edgeในสภาพแวดล้อมการผลิตมีเหตุผลที่ดีที่จะใช้ในสภาพแวดล้อมการผลิต เป็นสิ่งสำคัญที่จะต้องชี้แจงทางเทคนิคเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดของเรา ฉันชอบที่จะแบ่งปันความรู้และประสบการณ์ของฉัน ฉันหวังว่าคุณเช่นกัน เราสามารถปรับปรุงด้วยกันได้) ไชโย
โอลิเบอร์

2
สวัสดี @ Ricardo ฉันเห็นด้วยกับคุณ Microsoft กล่าวว่า"หากคุณต้องการให้ Internet Explorer ทุกรุ่นรองรับการเปิดหน้าเว็บของคุณในโหมดมาตรฐานให้ใช้ HTML5 [... ]"ในส่วนการทำความเข้าใจโหมดเอกสารดั้งเดิม (ดูที่เคล็ดลับ ) บางทีคำอธิบายของฉันอาจไม่ชัดเจน ... บางทีฉันอาจเข้าใจผิดบางอย่าง ... ฉันเปลี่ยนข้อความ ... คุณคิดอย่างไรเกี่ยวกับการเปลี่ยนแปลงของฉัน? มันไม่เป็นไรสำหรับคุณ คุณมีคำแนะนำอะไรให้เปลี่ยน / ปรับปรุงภายในคำตอบของฉัน ขอบคุณสำหรับความคิดเห็นของคุณ Cheers ;-)
olibre

5
@ClaraOnager ... ในคำตอบแรกของคุณคุณชี้อย่างไม่ถูกต้องในหน้าอ้างอิง MS บอกว่าจะไม่ใช้ในสภาพแวดล้อมการผลิตสำหรับ: <meta http-equiv = "X-UA- เข้ากันได้กับเนื้อหา" = IE = 7 9,10 "> ไม่ใช่ของ Edge อื่น ๆ
Usman Younas

3
เกี่ยวกับ Edge Mode ที่ใช้ในสภาพแวดล้อมการผลิต จาก Microsoft:Starting with IE11, edge mode is the preferred document mode; it represents the highest support for modern standards available to the browser.
L84

58

ความแตกต่างคือถ้าคุณระบุการตั้งค่ามุมมองที่เข้ากันได้DOCTYPEของ IE จะมีความสำคัญกว่า โดยค่าเริ่มต้นตั้งค่าเหล่านี้บังคับอินทราเน็ตไซต์ทั้งหมดลงในเข้ากันได้ดูโดยไม่คำนึงถึง นอกจากนี้ยังมีช่องทำเครื่องหมายที่จะใช้ดูเข้ากันได้สำหรับเว็บไซต์ทั้งหมดโดยไม่คำนึงถึงDOCTYPEDOCTYPE

กล่องโต้ตอบการตั้งค่ามุมมองที่เข้ากันได้ของ IE

X-UA-Compatibleแทนที่การตั้งค่ามุมมองที่เข้ากันได้ดังนั้นหน้าจะแสดงในโหมดมาตรฐานโดยไม่คำนึงถึงการตั้งค่าเบราว์เซอร์ โหมดบังคับมาตรฐานนี้สำหรับ:

  • หน้าอินทราเน็ต
  • หน้าเว็บภายนอกเมื่อผู้ดูแลระบบคอมพิวเตอร์เลือก“ แสดงเว็บไซต์ทั้งหมดในมุมมองที่เข้ากันได้” เป็นค่าเริ่มต้น - คิดว่า บริษัท ใหญ่ ๆ รัฐบาลมหาวิทยาลัย
  • เมื่อคุณจบลงในรายการมุมมองที่เข้ากันได้ของ Microsoftโดยไม่ได้ตั้งใจ
  • กรณีที่ผู้ใช้เพิ่มเว็บไซต์ของคุณลงในรายการด้วยตนเองในการตั้งค่ามุมมองที่เข้ากันได้

DOCTYPEคนเดียวไม่สามารถทำเช่นนั้นได้; DOCTYPEคุณจะจบลงในหนึ่งในโหมดความเข้ากันได้ดูในกรณีเหล่านี้โดยไม่คำนึงถึง

หากระบุทั้งmetaแท็กและส่วนหัว HTTP metaแท็กจะมีความสำคัญกว่า

คำตอบนี้จะขึ้นอยู่กับการตรวจสอบกฎระเบียบที่สมบูรณ์แบบสำหรับการตัดสินใจเลือกโหมดเอกสารในIE8 , IE9และIE10 โปรดทราบว่าการมองDOCTYPEเป็นทางเลือกสุดท้ายสำหรับการตัดสินใจโหมดเอกสาร


1
ในสถานการณ์ของอินทราเน็ตโดยค่าเริ่มต้น IE10 จะแสดงผลในโหมดความเข้ากันได้ ดูstackoverflow.com/questions/13284083/…. แท็กนี้ไม่จำเป็นต้องใช้โดยเริ่มต้นสำหรับอินเทอร์เน็ต แต่ต้องการ (โดยค่าเริ่มต้น) เมื่อใช้myintenralserver / myapp ฉันต้องการเพิ่มความคิดเห็นนี้เพราะความแตกต่างระหว่างอินเทอร์เน็ตและอินทราเน็ตนั้นชัดเจนจากข้อความในภาพหน้าจอเท่านั้นไม่ใช่ในคำตอบใด ๆ บนหน้าเว็บ
yzorg

คุณพูดถูกฉันควรจะชัดเจนเกี่ยวกับเรื่องนั้น ฉันเขียนโพสต์ใหม่ แจ้งให้เราทราบหากมีสิ่งอื่นที่ฉันควรจะอยู่ ขอบคุณ!
andrewdotn

ขอบคุณ! คำตอบนี้ชัดเจนกว่าคำตอบอื่น ๆ ที่เกี่ยวข้องกับไซต์อินทราเน็ต คำตอบอื่น ๆ จะลงรายละเอียดทางเทคนิคว่าทำไมและอย่างไร ฉันเกลียด MS IE นอกจากนี้การเขียนที่ดี: หนึ่งย่อหน้าทำให้ชัดเจนว่าทำไมเราจึงต้องใช้เมตาแท็ก Bravo
Aniket Inge

3
ฉันหวังว่าฉันสามารถโหวตคำตอบนี้ได้ร้อยครั้ง จับหน้าจอช่วยชีวิตที่นั่น ลดความดันโลหิตขณะที่ฉันพิมพ์นี้ ...
EvilDr

น่ากลัวน่ากลัว! ขอบคุณมากสำหรับคำตอบนี้
Seanosapien

25

ใช้สิ่งนี้เพื่อบังคับให้ IE ซ่อนปุ่มความเข้ากันได้ของเบราว์เซอร์ที่น่ารำคาญในแถบที่อยู่:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

1
'โหมด Edge มีไว้สำหรับการทดสอบเท่านั้น ห้ามใช้ในสภาพแวดล้อมการผลิต ' ดูmsdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx
Carl Onager

4
สำหรับมาตรการที่ดีที่ผมใช้<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">กับchrome=1คำสั่งจึงแจ้งให้ IE6, 7, 8 ผู้ใช้ติดตั้ง / การใช้งานChrome Frame แม้แต่HTML5 Boilerplateก็ใช้งานได้
Ricardo Zea

10
@ClaraOnager ถึงแม้ว่า Microsoft จะบอกว่ามันไม่ได้แปลว่ามันถูกต้อง ฉันใช้มา<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">ตั้งแต่วันที่มันออกมาโดยไม่มีปัญหาเลย ที่จริงแล้วฉันได้บันทึกทีมของฉันและตัวฉันเองด้วยอาการปวดหัวนับร้อย ๆ ครั้งโดยการทำให้ IE ของผู้ใช้ใช้เครื่องมือล่าสุดในการแสดงผลหน้าเว็บที่เราสร้าง ตรงกันข้ามกับคุณและ Microsoft ผมไม่แนะนำให้ทุกคนใช้ข้างต้นเมตาแท็กทุกครั้ง ตราบใดที่ IE ยังคงอยู่เราจะ "ถูกบังคับ" ให้ใช้เมตาแท็กนี้: p
Ricardo Zea

สิ่งนี้เปลี่ยนไปด้วย IE11 รุ่นนี้ได้ก้าวไปสู่โลกของเบราว์เซอร์ตามมาตรฐานอย่างเป็นทางการ มันได้กลายเป็นสุดขั้วที่จะไม่ระบุตัวเองว่าเป็น Internet Explorer! ตอนนี้มันบอกว่ามันเป็น "Netscape" และไม่รวมสิ่งใด ๆ ในข้อมูลเบราว์เซอร์เพื่อเปิดเผยตัวตนที่แท้จริง หากคุณยังคงพบนิสัยใจคอใด ๆ ในเบราว์เซอร์จากรุ่นนี้คุณจะต้องบังคับให้มันเข้าไปใน IE10 <meta http-equiv="X-UA-Compatible" content="IE=10">โดยการตั้งค่า จากนั้นจะรายงานตัวเองเป็น Microsoft Internet Explorer
กลัว

ประสบปัญหาที่เกี่ยวข้องเดียวกันหากมีใครสามารถช่วยฉันออกมา: stackoverflow.com/questions/22013880/…
dsi

25

เนื่องจากฉันไม่สามารถเพิ่มความคิดเห็นในคำตอบที่ทำเครื่องหมายไว้ฉันจะโพสต์ที่นี่

นอกจากคำตอบที่ถูกต้องคุณสามารถตรวจสอบนี้ได้จริง เมตาแท็กนี้จะถูกกำกับสำหรับ IE เท่านั้นสิ่งที่คุณต้องทำคือเพิ่มเงื่อนไข IE

<!--[if IE]>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<![endif]-->

การทำเช่นนี้เหมือนกับการเพิ่มคำสั่งเงื่อนไข IE อื่น ๆ และใช้ได้กับ IE เท่านั้นและจะไม่มีผลต่อเบราว์เซอร์อื่น


4
ไม่ควรใช้ความคิดเห็นแบบมีเงื่อนไขยกเว้นในการกำหนดเป้าหมาย HTML สำหรับ <= IE9 (นี่เป็นเรื่องจริงแม้ในขณะที่คำตอบนี้ถูกเขียน)
EKW

18

ฉันคิดว่าแผนภาพนี้จาก Microsoft อธิบายทั้งหมด เพื่อบอกวิธีแสดงเนื้อหา IE!! DOCTYPE ต้องทำงานกับเมตาแท็ก X-UA-Compatible ! DOCTYPE ด้วยตัวเองไม่มีผลต่อการเปลี่ยนโหมดเอกสาร IE

ป้อนคำอธิบายรูปภาพที่นี่

http://ie.microsoft.com/testdrive/ieblog/2010/Mar/02_HowIE8DeterminesDocumentMode_3.png


3
นี่คือเวอร์ชั่นที่อัปเดตซึ่งรวมถึง IE9 OMG ... ie.microsoft.com/testdrive/ieblog/2010/Jun/…
Spiralis

3
และอันนี้รวมถึง IE10: msdn.microsoft.com/en-us/library/ff406036%28v=vs.85%29.aspx บทที่แตกต่างกันมีผังงานแยกต่างหากของตัวเอง ...
Spiralis

คุณได้อ่านแผนผังการไหลที่ผิด ในกรณีที่ไม่มี X-UA-Compatible เบราว์เซอร์จะมองหา <! DOCTYPE> หากพบหนึ่งก็แสดงผลในโหมดมาตรฐาน (aka "EmulateIE8") หากไม่เป็นเช่นนั้นระบบจะเปลี่ยนกลับเป็น "Quirks Mode"
Chuck Le Butt

ขอขอบคุณที่อัปโหลดภาพไปที่ Stackoverflow ลิงก์เดิมไปยัง Microsoft ล้วนแล้วแต่เป็นสิ่งที่ขาดไม่ได้
Elmue

12

เพื่อความสมบูรณ์แบบคุณไม่จำเป็นต้องเพิ่มลงใน HTML ของคุณ (ซึ่งเป็นที่ไม่รู้จัก http-equiv ใน HTML5)

ทำสิ่งนี้และอย่ามองย้อนกลับไป (ตัวอย่างแรกสำหรับapache , ที่สองสำหรับnginx )

Header set X-UA-Compatible "IE=Edge,chrome=1"

add_header X-UA-Compatible "IE=Edge,chrome=1";

2
@HueiTan - ฉันคิดว่าผู้โพสต์บอกว่าเมื่อคุณพยายามตรวจสอบหน้าโดยใช้W3 Validatorมันจะโยนข้อผิดพลาด: Bad value X-UA-Compatible for attribute http-equiv on element meta.- นี่ไม่ได้หมายความว่ามันจะไม่ทำงาน มันไม่ใช่รหัสที่ถูกต้อง
L84

10

เพียงหนึ่งประโยคที่จะบอกสั่ง Internet Explorer ให้ใช้เอ็นจิ้นการเรนเดอร์ล่าสุด

<meta http-equiv="x-ua-compatible" content="ie=edge">

7
<meta http-equiv="X-UA-Compatible" content="IE=Edge">

ในการทำให้บรรทัดนี้ทำงานตามที่คาดหวังตรวจสอบให้แน่ใจว่า:

  1. มันเป็นองค์ประกอบแรกทันที <head>
  2. ไม่มีการใช้ความคิดเห็นแบบมีเงื่อนไขก่อนเมตาแท็กเช่นบน<html>องค์ประกอบ

มิฉะนั้นบางรุ่นของ IE ก็จะเพิกเฉย

UPDATE

กฎสองข้อนี้เรียบง่าย แต่ง่ายต่อการจดจำและตรวจสอบ แม้จะมีเอกสาร MSDN ที่ระบุว่าคุณสามารถใส่ชื่อและเมตาแท็กอื่น ๆ ก่อนหน้านี้ได้ แต่ฉันก็ไม่แนะนำให้ทำเช่นนั้น

วิธีทำให้มันทำงานกับความคิดเห็นตามเงื่อนไข

บทความที่น่าสนใจเกี่ยวกับลำดับขององค์ประกอบในหัว (blogs.msdn.com, สำหรับ IE)

REFERENCE

จากเอกสาร MSDN :

X-UA-Compatible[ ... ] ต้องปรากฏในส่วนหัวของหน้าเว็บ (ส่วนหัว) ก่อนที่องค์ประกอบอื่น ๆ ทั้งหมดยกเว้นองค์ประกอบชื่อและองค์ประกอบอื่น ๆ เมตา


5

หากคุณใช้เว็บไซต์ของคุณในเครือข่ายเดียวกับที่เซิร์ฟเวอร์ IE ต้องการเปลี่ยนเป็นโหมดความสามารถในการใช้งานแม้จะมี DOCTYPE ก็ตาม
การเพิ่มmeta http-equiv="X-UA-Compatible" content="IE=Edge" ปิดการใช้งานพฤติกรรมที่ไม่พึงประสงค์นี้


อีกคำสำหรับ 'เครือข่ายเดียวกับเซิร์ฟเวอร์' ก็คืออินทราเน็ต ... ดังนั้นโดยทั่วไปแล้ว IE10 จะถูกทำลายโดยค่าเริ่มต้นสำหรับไซต์อินทราเน็ตทั้งหมด ดูภาพหน้าจอในคำตอบ @AndrewNeitsch
yzorg

3

นี่คือการค้นหา google 1 รายการโดยปกติโดยทั่วไป แต่นี่จะไป:

http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx

ทำความเข้าใจกับโหมดเอกสารดั้งเดิม

ใช้ค่าต่อไปนี้เพื่อแสดงเว็บเพจในโหมด edge ซึ่งเป็นโหมดมาตรฐานสูงสุดที่ Internet Explorer รองรับจาก Internet Explorer 6 ถึง IE11

<meta http-equiv="x-ua-compatible" content="IE=edge"

บันทึกว่าสิ่งนี้เทียบเท่ากับการใช้ HTML5 doctype มันวาง Internet Explorer เข้าสู่โหมดเอกสารที่รองรับสูงสุด Edge ส่วนใหญ่มีประโยชน์มากที่สุดสำหรับเว็บไซต์ที่ได้รับการดูแลเป็นประจำซึ่งมีการทดสอบความสามารถในการทำงานร่วมกันระหว่างเบราว์เซอร์หลายตัวเป็นประจำรวมถึง Internet Explorer

หมายเหตุ เริ่มต้นด้วย IE11 โหมด edge ถือเป็นโหมดเอกสารที่ต้องการ (ในเวอร์ชันก่อนหน้านี้ถือว่าเป็นการทดลอง) หากต้องการเรียนรู้เพิ่มเติมดูที่โหมดเอกสารเลิกใช้แล้ว เริ่มต้นด้วย Windows Internet Explorer 8 นักพัฒนาเว็บบางคนใช้องค์ประกอบเมทาโหมดขอบเพื่อซ่อนปุ่มมุมมองที่เข้ากันได้บนแถบที่อยู่ ตั้งแต่ IE11 สิ่งนี้ไม่จำเป็นอีกต่อไปเนื่องจากปุ่มถูกลบออกจากแถบที่อยู่ เนื่องจากเป็นการบังคับให้เปิดหน้าเว็บทั้งหมดในโหมดมาตรฐานไม่ว่าจะเป็นรุ่นใดของ Internet Explorer คุณอาจถูกล่อลวงให้ใช้โหมดขอบสำหรับทุกหน้าที่ดูด้วย Internet Explorer อย่าทำเช่นนี้เนื่องจากส่วนหัวที่รองรับ X-UA รองรับเฉพาะการเริ่มต้นด้วย Internet Explorer 8

เคล็ดลับ หากคุณต้องการให้ Internet Explorer รุ่นที่รองรับทั้งหมดเปิดหน้าเว็บของคุณในโหมดมาตรฐานให้ใช้การประกาศชนิดเอกสาร HTML5 ดังที่แสดงในตัวอย่างก่อนหน้า

นอกจากนี้ในผลลัพธ์การค้นหาคือ:


2

2.1.3.5 เมตาแท็ก X-UA- ความเข้ากันได้และส่วนหัวการตอบสนอง HTTP

ฟังก์ชันนี้จะไม่ถูกนำไปใช้กับ Microsoft Edge รุ่นใด ๆ

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

ดูhttps://msdn.microsoft.com/en-us/library/ff955275(v=vs.85).aspx

ใช่ฉันรู้ว่าฉันไปงานปาร์ตี้สาย แต่ฉันเพิ่งมีปัญหาและการสนทนาและในที่สุดเจ้านายของฉันให้ฉันลบ X-UA-Compatibleแท็กลบออกจากเอกสารทั้งหมดที่ฉันได้ทำงานอยู่

หากข้อมูลนี้ล้าสมัยหรือไม่เกี่ยวข้องอีกต่อไปโปรดแก้ไขให้ถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.