我在<head>
:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
它会强制IE的最新渲染模式,但兼容模式被认为是最后一种吗?
我的意思是,例如:在IE8中使用此代码,会强制它使用IE8或IE8兼容模式吗?
答案 0 :(得分:63)
该标记将尝试强制浏览器使用浏览器支持的最新呈现模式。它不会触发兼容模式。
请注意,标记必须是头部中的第一个标记,否则它将无法使用。 如果可能,这个事实有利于使用HTTP头,因为HTTP头中的顺序无关紧要。
如果浏览器仍然在兼容模式下使用标题或元标记时,其中一个可能是原因:
更改浏览器兼容性视图设置
Microsoft认为至少192.168.x.x位于“Intranet站点”上。 IE8 / IE9中Intranet站点的默认设置是使用兼容模式。对于许多业务应用程序来说这是一个很大的问题,因为即使使用这个元标记,程序员也无法覆盖此选项。 (“Compatitiblity视图中显示Intranet站点”不能被元标记或http标头覆盖 - 在这种情况下,浏览器完全控制兼容性视图)
始终添加此元标记或http标题?
使用此元标记的另一个好处是,“兼容性视图”图标将从浏览器的地址栏中删除。然后,至少您的用户无法使用该按钮决定渲染模式。
答案 1 :(得分:2)
即使您取消选中“在兼容性视图中显示Intranet站点”选项,并在响应标头中包含X-UA-Compatible,还有另一个原因可能导致您的浏览器默认为“兼容性视图” - 您的组政策。查看您的控制台以获取以下消息:
HTML1203:xxx.xxx已配置为通过组策略在兼容性视图中运行。
其中xxx.xxx是您网站的域名(即test.com)。如果您看到这个,那么您的域的组策略就会被设置,以便任何以test.com结尾的站点都将自动呈现为兼容模式,无论文档类型,标题等等。
有关详细信息,请参阅以下链接(解释html代码):http://msdn.microsoft.com/en-us/library/ie/hh180764(v=vs.85).aspx
答案 2 :(得分:0)
我不是专家,而是通过反复试验:
<meta http-equiv="X-UA-Compatible" content="IE=8, IE=9, IE=edge"/>
为我解决了这个问题。我在网站和网络应用程序上使用它,它阻止IE8进入兼容模式,并显示为&#39;标准&#39;在IE10和IE11中。
答案 3 :(得分:-3)
单独使用Edge
关键字有什么意义?我的意思是,如果你想让IE使用最新的渲染引擎,那么只需删除整个元标记。
否则,它应该看起来像那样(这会使IE8的行为像IE7和IE9,而且更新会像往常一样工作):
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=Edge" />