65.9K
CodeProject 正在变化。 阅读更多。
Home

在 IE 中启用兼容模式

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.82/5 (13投票s)

2013 年 9 月 6 日

CPOL

1分钟阅读

viewsIcon

104092

通过 ASP.NET MVC/HTML meta 标签中的代码在 IE 中启用兼容模式。

引言

随着 IE(Internet Explorer)不断发布新版本,并带来新的特性和功能,旧版页面/站点无需支持最新版本的浏览器。因此,从 IE8 开始引入了兼容模式。

问题

我有一个 ASP.NET MVC Web 应用程序,希望它在 IE10 中以 IE8 或 IE9 兼容模式运行,因为我们的客户仅使用 IE8 或 IE9,而我们的工作站上安装的是 IE10。让我们看看如何实现这一点。

解决方案

我们可以通过设置兼容模式的值来实现这一点。

网页可以通过使用 META 标签或设置 HTTP 标头来指定兼容模式,请注意,当两者都存在时,META 标签优先于 http 标头。

方案 1:META 标签 - 将以下代码放置在网页(HTML 页面)的 head 元素中。 

 <meta http-equiv="X-UA-Compatible" content="IE=8, IE=9"/> 

这不仅适用于 IE,也适用于 Chrome 等其他浏览器

<meta http-equiv="X-UA-Compatible" content="IE=8, IE=9, chrome=1"/>

重要提示:META 标签应放置在 head 部分中的任何脚本或 CSS 标签之前。

方案 2:HTTP 标头 - 我们可以配置服务器,在每个页面中发送一个 HTTP 标头,即发送 X-UA-Compatibility: IE=8 HTTP 标头

现在,我们如何在 ASP.NET MVC 应用程序中实现这一点?

web.config 文件中添加以下代码片段

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <clear/>
            <add name="X-UA-Compatible" value="IE=8"/>
        </customHeaders>
    </httpProtocol>
<system.webServer>

重要提示

  • system.webServer 标签只有在 MVC3 在 IIS7 或更高版本上运行时才有效
  • 如果您的 <meta> 标签被 IE 的 intranet 设置覆盖,此 webServer 设置将覆盖兼容性。

有关浏览器兼容模式的更多详细信息,请点击 此处 也请参考 此处 

© . All rights reserved.