5

实际上,我在 IE 中的网站存在问题,该网站不在 Intranet 上,并且“始终以兼容模式显示页面未激活”但有时仍以怪异模式打开,尽管添加

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

我有红色,我可以在 HTTP 标头或 htaccess 中发送此兼容性顺序

我的问题是我已经搜索了如何发送 HTTP 标头,但实际上没有发现任何线索,顺便说一句,我是一名 php 开发人员,以防万一需要这些信息。

如果有人能提供我需要添加的内容(两者,或至少一个)以及如何/在哪里添加它,我将非常感激,我一直在寻找整整一周,而且这么快找到修复是非常紧迫的!

这种将其作为 HTTP 标头作为页面第一行发送的方式是否正确?

<?php
header('X-UA-Compatible: IE=edge');
?>

(我刚刚找到)

我真的很感激可以提供任何帮助,我提前表示感谢。

4

1 回答 1

16

正如您正确指出的,可以在 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 风格的。

于 2013-03-16T16:55:13.797 回答