IE兼容模式:'X-UA兼容'标签'Edge'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IE兼容模式:'X-UA兼容'标签'Edge'相关的知识,希望对你有一定的参考价值。

我在<head>有这个:

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

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

我的意思是,例如:在IE8中使用此代码,它会强制它使用IE8或IE8兼容模式吗?

答案

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

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

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

  • 你错过了一个理智的doctype
  • 浏览器已设置为始终使用兼容模式
  • 该站点托管在“Intranet站点”上,并设置了Intranet站点的默认设置

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

Microsoft认为至少192.168.x.x位于“Intranet站点”上。 IE8 / IE9中Intranet站点的默认设置是使用兼容模式。对于许多业务应用程序来说这是一个很大的问题,因为即使使用这个元标记,程序员也无法覆盖此选项。 (“Compatitiblity View中显示Intranet站点”不能被元标记或http标头覆盖 - 在这种情况下,浏览器完全控制兼容性视图)

始终添加此元标记或http标头?

使用此元标记的另一个好处是,“兼容性视图”图标将从浏览器的地址栏中删除。至少您的用户无法使用该按钮决定渲染模式。

另一答案

即使您取消选中“在兼容性视图中显示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

另一答案

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

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

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

另一答案

单独使用Edge关键字有什么意义?我的意思是,如果您希望IE使用最新的渲染引擎,那么只需删除整个元标记。

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

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

以上是关于IE兼容模式:'X-UA兼容'标签'Edge'的主要内容,如果未能解决你的问题,请参考以下文章

即使使用 X-UA 元标记,IE9 也会进入 IE7 兼容性视图

如何从服务器端强制关闭 IE 兼容模式?

X-UA 与 HTTP 标头的兼容性

如何从服务器端强制设置IE的兼容模式?

x-ua 兼容不是每次都工作

样式表打破TITLE属性 标签?