ฉันใช้แบบเดียวกับmeta
ที่ใช้ HTML5 Boilerplate และตัวตรวจสอบ HTML ของ W3C บ่นว่า:
ค่า X-UA ไม่ถูกต้องสำหรับแอตทริบิวต์ http-equiv บนเมตาองค์ประกอบ
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
meta
แท็กนี้มีอะไรผิดพลาด
ฉันใช้แบบเดียวกับmeta
ที่ใช้ HTML5 Boilerplate และตัวตรวจสอบ HTML ของ W3C บ่นว่า:
ค่า X-UA ไม่ถูกต้องสำหรับแอตทริบิวต์ http-equiv บนเมตาองค์ประกอบ
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
meta
แท็กนี้มีอะไรผิดพลาด
คำตอบ:
X-UA-Compatible ไม่ใช่ "มาตรฐาน" HTML (FSVO "มาตรฐาน" ที่เกี่ยวข้องกับการปรากฏบนหน้าวิกิที่แก้ไขได้แบบสาธารณะที่อ้างอิงโดยข้อกำหนด) หรือ Validator ไม่ทันสมัยกับสถานะปัจจุบันของวิกินั้น
ในขณะที่เขียน (20130326) X-UA-Compatible ปรากฏบนหน้าวิกิภายใต้หัวข้อที่ระบุว่า: "ส่วนขยายที่เสนอต่อไปนี้ยังไม่เป็นไปตามข้อกำหนดการลงทะเบียนทั้งหมดในข้อมูลจำเพาะของ HTML ดังนั้นจึงยังไม่ได้รับอนุญาตให้ใช้ได้ เอกสาร " ดังนั้นตัวตรวจสอบความถูกต้องจึงถูกต้องที่จะปฏิเสธค่านี้
<meta name= ...
คนที่คุณเชื่อมโยงไปสำหรับ สำหรับ<meta http-equiv=...
เพจคือwiki.whatwg.org/wiki/PragmaExtensions
X-UA-Compatible
ดังนั้นทางเลือก“ ตัวตรวจสอบความถูกต้องไม่ทันสมัย” จึงใช้ แม้แต่validator.nu (ซึ่งได้รับการกล่าวขานว่าทันสมัยกว่าโดยทั่วไป) ก็ล้าสมัยในแง่นี้
X-UA-Compatible
ดูคำตอบของฉันสำหรับตัวอย่างของวิธีการแก้ไขตรวจสอบเพื่อสนับสนุนการ stackoverflow.com/a/21048010/1006963
หากคุณต้องการทำให้มันถูกต้องในทางเทคนิค (ทุกคนชอบที่จะเห็นไอคอน Fav สีเขียว) โดยไม่มีผลต่อการทำงานใด ๆ คุณควรจะรวมไว้ในแท็ก "if IE" ได้
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
วิธีแก้ปัญหาหนึ่งที่เป็นไปได้คือการติดตั้งฟิกซ์ฝั่งเซิร์ฟเวอร์ในส่วนหัวตามที่แนะนำไว้ในบทความที่ดีนี้โดย Aaron Layton (เครดิตทั้งหมดควรไปที่เขาและฉันจะถอดความออกมาแทนที่จะลอกเลียนแบบ ... )
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
"เมื่อ Internet Explorer มาเจอบรรทัดนี้มันจะเปลี่ยนเอ็นจิ้นที่ใช้กับ Chrome Frame แรกหากติดตั้งปลั๊กอินแล้วไปที่ Edge (โหมดเอกสารที่รองรับสูงสุดของเบราว์เซอร์)"
ขั้นตอน :
ในการเพิ่มส่วนหัวใน PHP เราสามารถเพิ่มสิ่งนี้ในหน้าของเรา:
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
header('X-UA-Compatible: IE=edge,chrome=1');
หรือคุณสามารถเพิ่มลงในไฟล์. htaccess ได้ดังนี้:
<FilesMatch "\.(htm|html|php)$">
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
</IfModule>
</FilesMatch>
ลิงก์ไปยังบทความต้นฉบับตรวจสอบความคิดเห็นสำหรับข้อควรระวังที่เป็นไปได้ รวมถึงการนำไปใช้งานสำหรับ C # ด้วย
แก้ไขค่าไม่ถูกต้อง X-UA-Compatible ครั้งแล้วครั้งเล่า
หวังว่านี่จะช่วยได้!
<meta>
จากไฟล์ html
response.addHeader("X-UA-Compatible", "IE=edge,chrome=1");
แต่นี่คือส่วนสำคัญ GitHub แบบเต็มนี่เป็นส่วนสำคัญ
headers
และsetenvif
mods บนเซิร์ฟเวอร์ Apache ของฉันเพื่อให้มันใช้งานได้
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
.. นี่อาจเป็นคำตอบที่ดี?
ตั้งค่า HTTP Header ด้วย PHP:
นี่ไม่ใช่งานของตัวเอง แต่หวังว่าจะเป็นประโยชน์กับคนอื่น ๆ ด้วย
หากคุณดาวน์โหลด / สร้างรหัส src ของ validator คุณสามารถเพิ่มการสนับสนุนด้วยตัวคุณเอง
เพิ่มสิ่งต่อไปนี้ลงในไฟล์เช่นhtml5-meta-X-UA-Compatible.rnc
) จากนั้นรวมไว้ในhtml5full.rnc
แล้วรวมไว้ใน
ฉันทำสิ่งนี้แล้วและได้ผลดีสำหรับการตรวจสอบความถูกต้อง
meta.http-equiv.X-UA-Compatible.elem =
element meta { meta.inner & meta.http-equiv.X-UA-Compatible.attrs }
meta.http-equiv.X-UA-Compatible.attrs =
( common.attrs.basic
& common.attrs.i18n
& common.attrs.present
& common.attrs.other
& meta.http-equiv.attrs.http-equiv.X-UA-Compatible
& meta.http-equiv.attrs.content.X-UA-Compatible
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.http-equiv.attrs.http-equiv.X-UA-Compatible = attribute http-equiv {
xsd:string {
pattern = "X-UA-Compatible"
}
}
meta.http-equiv.attrs.content.X-UA-Compatible = attribute content {
xsd:string {
pattern = "IE=((edge)|(EmulateIE(7|8|9|10))|7|8|9|10|11)(,chrome=(1|0))?"
}
}
common.elem.metadata |= meta.http-equiv.X-UA-Compatible.elem
โปรดลบออก,chrome=1
จากเมตาแท็กมันจะทำงานได้ดี ด้วย validator:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
ฉันมีปัญหาเดียวกันและการเพิ่มและเพื่อล้อมรอบทั้งบรรทัดนั้นช่วยแก้ไขสถานการณ์ได้
<!--[if IE]><meta http-equiv="x-ua-compatible" content="IE=9" /><![endif]-->