IE兼容性模式:“X-UA兼容”标签“边缘”

我在<head>有这个:

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

它会强制IE的最新渲染模式,但兼容模式被认为是最后一个?

我的意思是,例如:使用这个代码与IE8,它会强制它使用IE8或IE8兼容模式?

该标签将尝试强制浏览器使用浏览器支持的最新渲染模式。 它不会触发兼容模式。

请注意,标签必须是头部的第一个标签,否则将无法使用。 如果可能的话,这个事实有利于使用HTTP头,因为HTTP头中的顺序无关紧要。

如果在使用标题或元标记时浏览器仍然以兼容模式结束,则可能是以下原因之一:

  • 你缺less一个理智的文档types
  • 浏览器已被设置为始终使用兼容模式
  • 该站点位于“Intranet站点”上,并设置了Intranet站点的默认设置

更改浏览器兼容性视图设置

Microsoft认为至less192.168.xx是在“Intranet站点”上。 IE8 / IE9中的Intranet站点默认使用兼容模式。 对于许多商业应用来说,这是一个巨大的问题,因为即使使用这个元标记,程序员也不能覆盖这个选项。 (“在兼容性视图中显示Intranet站点”不能被元标记或http头覆盖 – 在这种情况下,浏览器完全控制兼容性视图)

兼容性视图设置

总是添加这个元标记或一个http头?

使用这个元标记的另一个好处是从浏览器的地址栏中删除“兼容性视图”图标。 至less您的用户可以不使用该button来决定渲染模式。

即使您没有选中“在兼容性视图中显示Intranet站点”选项,并在响应头中包含X-UA兼容,您的浏览器可能会默认为“兼容性视图”的另一个原因是您的组策略。 查看您的控制台以获取以下消息:

HTML1203:xxx.xxx已被configuration为通过组策略在兼容性视图中运行。

其中xxx.xxx是您网站的域名(即test.com)。 如果你看到这个,那么你的域的组策略是这样设置的,这样任何以test.com结尾的站点都将自动以兼容模式呈现,而不pipe文档types,头文件等。

有关更多信息,请参阅以下链接(解释html代码): http : //msdn.microsoft.com/en-us/library/ie/hh180764 (v=vs.85) .aspx

我不是专家,但通过反复试验:

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

为我解决了这个问题。 我在网站和webapps上使用了这个function,它阻止了IE8进入兼容模式,并在IE10和IE11中显示为“标准”。

单独使用Edge关键字有什么意义? 我的意思是,如果你想要IE浏览器使用最新的渲染引擎,那么就放弃整个元标记。

否则,它应该看起来像这样(这将使IE8行为像IE7和IE9和更新将像往常一样工作):

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