IE页面被强制进入IE7文档模式

Chr*_*rks 5 doctype internet-explorer x-ua-compatible

我一直在调查一个问题,正在努力寻找新的想法,所以我想我会看到是否有人可以提供帮助.

我有一个在Chrome和Firefox中显示正常的页面.它在IE9中也很好用,但我们的一些客户必须使用兼容模式......当在兼容模式下查看页面时,由于某种原因,它会强制显示在IE7文档模式中.

该页面有!DOCTYPE HTML作为第一行,还有:

meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1
Run Code Online (Sandbox Code Playgroud)

其中,我认为应该强制页面以最新的文档模式显示.

当我在F12开发人员工具中浏览HTML时,html的第一行已被注释掉:

!-- DOCTYPE HTML --
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我可以尝试解决此问题,即强制页面显示在IE9文档模式?当我在开发人员工具中手动将文档模式更改为IE9时,页面显示正常 - 所以我只需要找出为什么IE强制IE7文档模式而不使用默认值.

任何帮助非常感谢.

Tim*_*lin 7

您可以看到我对类似问题的回答:X-UA-Compatible设置为IE = edge,但它仍然不会停止兼容模式.

如果用户在兼容性视图设置对话框中切换了某些选项,例如"在兼容性视图中显示Intranet站点"或"在兼容性视图中显示所有站点",则元标记不会覆盖文档类型,这听起来可能就是这种情况对于您的一些客户,无论是他们的意图还是他们公司的政策.

要强制它超出兼容性视图,您必须在托管服务器上而不是在服务的文件中设置X-UA-Compatible; 对于.NET,您通常会在web.config(IIS7)中设置它,如下面的示例所示,或者将其添加到Web应用程序属性(IIS6)的自定义Http标头中.

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