不应该在IE10中"兼容X-UA兼容IE =边缘"标题覆盖"在兼容性视图中显示内部网站点"?

kma*_*man 27 html asp.net iis internet-explorer-10

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

这是我组织内的一个Intranet站点,我相信有一段时间后,部署了一个组策略,默认情况下在兼容性视图中启用Display Intranet站点.

我今天在测试中注意到的事情是,即使我正在添加一个X-UA兼容的IE =边缘 HTTP标头(通过我的web.config),该网站在IE中显示为:

Browser Mode: IE10 Compat View
Document Mode: Standards
Run Code Online (Sandbox Code Playgroud)

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

Browser Mode: IE10
Document Mode: Standards
Run Code Online (Sandbox Code Playgroud)

所以我的问题很简单,IE = edge header值是否应该覆盖兼容性视图设置中的Display Intranet站点

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

dan*_*ave 12

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

这很可能发生,因为IE设置为"在兼容性视图中显示Intranet站点"(Alt+ T|兼容性视图设置)

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

X-UA-Compatible: IE=edge
Run Code Online (Sandbox Code Playgroud)

幸得Lavinski找到这个

  • 对不起,一定是误读了这个问题(或者把这个问题与另一个我正在考虑谈论meta元素的问题混淆了).添加标题以使用web.config对我有用,但我在类似的情况下"在compat视图中显示"由组策略设置并且我们的域添加到Intranet站点列表. (2认同)

小智 8

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

<httpProtocol>
    <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=Edge" />
    </customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)


dur*_*uri 1

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

查看Internet Explorer 中“浏览器模式”和“文档模式”之间的区别