ASP.NET忽略IE7兼容模式标签在Web.config中(ASP.NET Ignores IE7

2019-06-27 06:57发布

我在我的Web.config文件中的以下部分

<system.webServer>
    <!-- For now..... lets be safe and put IE8 in IE7 compatibility mode-->
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=EmulateIE7" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>

是不是存在于页的标题的时候都在我的网站呈现。 我跟着这个职位的建议ASP.NET应用程序-将IE7兼容模式? 但它似乎没有工作,当使用IE8和IIS6预期。 任何提示?

Answer 1:

原来,问题是,我使用的是IIS6。 IIS6着眼于<system.web>的Web.config代替第<system.webServer>部(其由IIS7使用的,除非它是在兼容模式运行)。 要在运行时IIS6渲染你的网站的每个网页上的这个元标记,我认为最好的办法是将其添加到您的母版。 我最终加入以下代码块母版我的OnPreRender事件:

Page.Header.Controls.AddAt(0, new HtmlMeta { HttpEquiv = "X-UA-Compatible", Content = "IE=EmulateIE7" });

我用AddAt,而不是只是简单的添加的原因是因为X-UA兼容meta标签显然必须是在页面头部的第一件事,以便它得到尊重。

希望这可以帮助别人在同一条船上!



文章来源: ASP.NET Ignores IE7 Compatibility Mode Tag in Web.config