27

我有一个简单的 HTML5 / ASP.NET 网站,自从它为 Win7 发布以来,我今天开始在 IE10 中进行测试。

这是我组织内的一个 Intranet 站点,我相信不久前部署了一个组策略以默认启用在兼容性视图中显示 Intranet 站点。

我今天在测试中注意到的是,即使我添加了X-UA-Compatible IE=edge HTTP 标头(通过我的 web.config),该站点在 IE 中显示为:

Browser Mode: IE10 Compat View
Document Mode: Standards

我相信我的 HTML 实际上没问题,因为我可以简单地取消选中在兼容性视图中显示 Intranet 站点设置,当它重新加载时,它会立即切换到:

Browser Mode: IE10
Document Mode: Standards

所以我的问题很简单,IE=edge标头值不应该覆盖在兼容性视图中显示 Intranet 站点设置吗?

如果没有,有什么办法可以覆盖它吗?

4

3 回答 3

12

(我会把这个放在这里,因为这个问题在我的谷歌搜索中排名更高,但经过更多挖掘后,我实际上找到了另一个 SO 问题的答案:https ://stackoverflow.com/a/13287226/1563 。我不确定如果他们应该合并(至少不是没有一些问题编辑))

这可能是因为 IE 设置为“在兼容性视图中显示 Intranet 站点”(Alt+ T| 兼容性视图设置)

您不能使用X-UA-Compatible 元标记覆盖此设置,但您可以通过发送X-UA-Compatible http 标头

X-UA-Compatible: IE=edge

感谢 Lavinski发现这个

于 2013-06-20T10:25:07.657 回答
8

这对我有用,请尝试在添加新标题或任何其他标题之前清除现有标题。

<httpProtocol>
    <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=Edge" />
    </customHeaders>
</httpProtocol>
于 2013-08-15T16:30:43.693 回答
1

我相信在“兼容性视图”同时打开 IE7浏览器文档X-UA-Compatible模式时强制文档模式 -> 文档模式实际上被.X-UA-Compatible

请参阅Internet Explorer 中“浏览器模式”和“文档模式”之间的区别

于 2013-02-28T06:01:56.547 回答