1

我们正在使用 asp.net mvc 5 制作一个 Intranet 站点,但在 IE 9 中的兼容性设置存在一些问题。该站点需要在没有兼容性视图的情况下显示。
我们做了一些研究,做了这些:
1. 在 layout.cshtml 和 login.cshtml 中添加 meta

<!DOCTYPE html>
<html>
<head>
    <title>@System.Web.Configuration.WebConfigurationManager.AppSettings["WebsiteTitle"]</title>
    <meta http-equiv='X-UA-Compatible' content='IE=Edge'>
    <meta http-equiv="PRAGMA" content="NO-CACHE">
    ....

@{Layout = null;}
@model ZdtcWebsite.Models.LoginModel
<!DOCTYPE html>
     <html>
     <head>
     <title>@System.Web.Configuration.WebConfigurationManager.AppSettings["WebsiteTitle"]</title>
     <meta http-equiv='X-UA-Compatible' content='IE=Edge'>
     <meta http-equiv="PRAGMA" content="NO-CACHE">
     <meta charset="utf-8" />
     ....

2.我们在web.config中添加customheader

<system.webServer>
<httpProtocol> 
        <customHeaders> 
          <clear />
          <add name="X-UA-Compatible" value="IE=Edge" /> 
        </customHeaders> 
     </httpProtocol> 
<validation validateIntegratedModeConfiguration="false" />
</system.webServer> 

这两个仍然不起作用。我们的网站在打开时仍会进入兼容模式。我注意到的一件事是,如果我们在 IE9 中打开开发人员工具并打开页面,X-UA-Compatible 标记正在工作,但如果开发人员工具关闭,则不会。
我们在 IE 11 上对此进行了测试,它运行良好。任何人都可以建议这里发生了什么?

4

2 回答 2

2

原来是因为我们的脚本中有几个“console.log”。当我们删除它们时,该网站工作正常。如果显示开发人员工具,这可能也是网站运行良好的原因。我不明白为什么console.log和兼容性视图之间有任何联系,但我想有

于 2014-12-22T18:21:34.277 回答
-1

兼容模式的浏览器设置会覆盖文档的首选项(通过元标记)或服务器的首选项(通过响应标头)。默认的 IE 兼容性视图设置是对 Intranet 站点使用兼容模式。转到 IE 中的工具 > 兼容性视图设置。在那里,您会看到一个标有“在兼容性视图中显示 Intranet 站点”的复选框。如果已选中,请取消选中它。如果由于它被禁用而无法取消选中它,则必须与组织的基础架构团队交谈。为此有一个 GP(组策略)设置。

无论哪种方式,您都可能需要与您组织的基础架构团队进行交流。即使您可以自己取消选中它,除非您想将每个用户都掌握在组织的手中,以便他们也可以在他们的 IE 中单独取消选中它,否则通过 GP 取消选中它会更容易和标准化。

于 2014-12-19T19:11:17.887 回答