Michael Irigoyen 是正确的,但它有点复杂......
如果您使用的是 Paul Irish 的精彩样板,那么您将获得如下内容:-
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
如果您选中了“在兼容性视图中显示 Intranet 站点”,这将无法按预期工作并强制 IE 在 Intranet 环境中进入兼容模式。需要去掉条件IE cmets来阻止内网兼容模式。
所以下面的代码可以工作:
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
基本上,如果您在<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 语句之前触发条件IE cmets,那么如果您使用默认设置运行IE9,您将被强制进入Intranet 环境中的兼容模式。
更新 - 附加信息: 但请注意,有一个技巧可以使 HTML5 样板工作:
在 DOCTYPE之前添加一个空的条件注释。还要注意,当您执行that 时,您可以也在X-UA-Compatible 指令周围添加条件 cmets,从而使页面也成为 HTML5 有效的。比如:
<!--[if HTML5]><![endif]-->
<!doctype html>
<!--[if the boilerplate conditionals goes here<![endif]-->
<head>
<!--[if !HTML5]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
blog post that was inspired by the first part of this answer,有更多细节。 顺便说一句:正如那篇博文中提到的,还可以将 DOCTYPE 之前的条件评论替换为 半条件 评论 无条件:<!--[]-->。因此,就像这样:
<!--[]-->
<!doctype html>
<!--[if the boilerplate conditionals goes here<![endif]-->
<head>
<!--[if !HTML5]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
但请注意,后一种变体 (<--[]--><!DOCTYPE html>) 将如 this answer to another question 所解释的那样激活众所周知的问题——对于不支持 X-UA-Compatioble 的旧版 IE 版本(阅读:对于 IE7 和 IE6 ) — 使浏览器进入 quirks-mode。