我很困惑。我应该可以设置
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
IE8 和 IE9 应该使用最新的渲染引擎来渲染页面。但是,我刚刚对其进行了测试,如果在我们网站的其他地方打开了兼容模式,它将在我们的页面上保持打开状态,即使我们应该强制它不要这样做。
您应该如何确保 IE 不 使用 兼容模式(即使在 Intranet 中)?
FWIW,我正在使用 HTML5 DocType 声明(<!doctype html>)。
<!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 元标记吗?
如果您需要覆盖 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复制和粘贴是不必要的疏忽。好收获,评论者!
clear
add