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 标头的兼容性的主要内容,如果未能解决你的问题,请参考以下文章

HTML X-UA兼容

即使使用 X-UA 元标记,IE9 也会进入 IE7 兼容性视图

x-ua 兼容不是每次都工作

X-UA 兼容:IE=9 vs IE=EmulateIE9,其他浏览器

IE兼容模式:'X-UA兼容'标签'Edge'

在 SharePoint 2010 中覆盖 X-UA 兼容元