微软最大的 Internet Explorer 客户群是企业。企业已经投入了无数的金钱和时间来为旧版本的 IE 创建 Intranet 应用程序,这些应用程序会在更新/更符合标准的版本下崩溃。因此,对于在本地 Intranet 区域中检测到的网站,IE 将默认为兼容模式,以使 IE9 的行为类似于 IE7。
默认情况下,本地主机恰好是本地 Intranet。这可能是为什么在从 Visual Studio 进行 F5 调试时,尽管使用 IE9,但没有任何较新的 JavaScript 对象和方法可用。
幸运的是,您可以做一些事情。对于应用程序开发人员来说,最简单的方法是在页面标题中包含一个元标记,告诉 IE 在呈现该页面时忽略兼容模式:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
首选方法可能是让 Web 服务器在该 Web 应用程序的每个 HTTP 响应中包含此标头。要么配置 IIS 来执行此操作,要么在 web.config 中包含以下内容(我相信对于 IIS7+):
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-UA-Compatible"/>
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>