我有一个简单的HTML5 / ASP.NET网站,自从Win7发布以来,我今天开始在IE10中进行测试。
这是我组织内的一个Intranet站点,我相信有一段时间后,部署了一个组策略,默认情况下启用在兼容性视图中显示Intranet站点。
我今天在测试中注意到的事情是,即使我添加 X-UA兼容IE =边缘 HTTP标头(通过我的web.config),该网站在IE中显示为:
Browser Mode: IE10 Compat View
Document Mode: Standards
我相信我的HTML实际上是可以的,因为我只需取消选中 在兼容性视图中显示Intranet网站设置,当它重新加载时,它会立即切换到:< / p>
Browser Mode: IE10
Document Mode: Standards
所以我的问题很简单, IE = edge 标头值是否应该覆盖在兼容性视图中显示Intranet网站设置?
如果没有,我可以覆盖它吗?
答案 0 :(得分:12)
(我会把这个放在这里,因为这个问题在我的谷歌搜索中排名更高,但经过更多的挖掘,我实际上在另一个问题上找到了答案:https://stackoverflow.com/a/13287226/1563。我不确定它们是否应该合并(至少没有一些问题编辑))
这很可能发生,因为IE设置为“在兼容性视图中显示Intranet站点”( Alt + T |兼容性视图设置)
您无法使用X-UA-Compatible
元标记覆盖此设置,但您可以发送X-UA-Compatible
http标头:
X-UA-Compatible: IE=edge
为了找到这个
,会转到Lavinski答案 1 :(得分:8)
这对我有用,尝试在添加新标题或其他标题之前清除现有标题。
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
答案 2 :(得分:1)
我相信X-UA-Compatible
强制文档模式,而“兼容性视图”同时启用IE7 浏览器和文档模式 - &gt;文档模式实际上被X-UA-Compatible
覆盖了。
请参阅Difference between "Browser Mode" and "Document Mode" in Internet Explorer