X-UA 与 HTTP 标头的兼容性
Posted
技术标签:
【中文标题】X-UA 与 HTTP 标头的兼容性【英文标题】:X-UA-Compatibility with HTTP Header 【发布时间】:2013-03-04 20:26:38 【问题描述】:实际上,我在 IE 中的一个网站存在问题,该网站不在 Intranet 上,并且“始终以兼容模式显示页面未激活”但有时仍以怪异模式打开,尽管添加了
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
我有红色,我可以在 HTTP 标头或 htaccess 中发送此兼容性顺序
我的问题是我搜索了如何发送 HTTP 标头但实际上没有发现任何线索,顺便说一句,我是一名 php 开发人员,以防万一需要此信息。
如果有人能提供我需要添加的内容(两者或至少一个)以及如何/在何处添加它,我将不胜感激,我一直在寻找整整一周,找到修复程序非常紧迫这么快!
这种方式将其作为 HTTP 标头作为页面中的第一行发送是否正确?
<?php
header('X-UA-Compatible: IE=edge');
?>
(我刚刚找到)
非常感谢能提供任何帮助,在此先感谢您。
【问题讨论】:
打赌你的文档类型之前有一个换行符,或者是一个古老的文档类型。 【参考方案1】:正如您正确指出的,标题可以在 php 中设置:
<?php header('X-UA-Compatible: IE=edge,chrome=1');
也可以像这样在.htaccess
中设置:
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=Edge,chrome=1"
# mod_headers can't match by content-type, but we don't want to send this header on *everything*...
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webm|webp|woff|xml|xpi)$">
Header unset X-UA-Compatible
</FilesMatch>
</IfModule>
(从html5 Boilerplate模板复制)
然而,如果您设置这些标头并发现 IE 仍默认为 quirks-mode,那么我倾向于建议还有其他工作在起作用。您是否确保您的网页包含有效的doctype
?值得注意的是,它不是 HTML 4.01 风格的。
【讨论】:
以上是关于X-UA 与 HTTP 标头的兼容性的主要内容,如果未能解决你的问题,请参考以下文章
即使使用 X-UA 元标记,IE9 也会进入 IE7 兼容性视图