小编典典

X-UA-Compatible 设置为 IE=edge,但仍不停止兼容模式

all

我很困惑。我应该可以设置

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

IE8 和 IE9
应该使用最新的渲染引擎来渲染页面。但是,我刚刚对其进行了测试,如果在我们网站的其他地方打开了兼容模式,它将在我们的页面上保持打开状态,即使我们应该强制它不要这样做。

您应该如何确保 IE 不 使用 兼容模式(即使在 Intranet 中)?

FWIW,我正在使用 HTML5 DocType 声明(<!doctype html>)。

这是页面的前几行:

<!doctype html> 
<!--[if lt IE 7 ]> <html lang="en" class="innerpage no-js ie6"> <![endif]--> 
<!--[if IE 7 ]>    <html lang="en" class="innerpage no-js ie7"> <![endif]--> 
<!--[if IE 8 ]>    <html lang="en" class="innerpage no-js ie8"> <![endif]--> 
<!--[if (gte IE 9)|!(IE)]><!--> 
<html lang="en" class="innerpage no-js"> 
<!--<![endif]--> 
    <head> 
        <meta charset="ISO-8859-1" /> 
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />

编辑:我刚刚了解到IE8 的默认设置是对 Intranet 站点使用 IE7 兼容模式。这会覆盖 X-UA-Compatible
元标记吗?


阅读 136

收藏
2022-05-22

共1个答案

小编典典

如果您需要覆盖 IE 对 Intranet 站点的兼容性视图设置,您可以在 web.config (IIS7) 中或通过网站属性 (IIS6) 中的自定义
HTTP 标头执行此操作,并在那里设置 X-UA-
Compatible。
元标记不会覆盖
IE 在兼容性视图设置中的 Intranet 设置,但如果您在托管服务器上设置它,它将覆盖兼容性。

IIS7 中的 web.config 示例:

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

编辑 :我从;clear之前删除了代码 add复制和粘贴是不必要的疏忽。好收获,评论者!

2022-05-22