我不明白 根本 什么 <meta http-equiv="X-UA-Compatible" content="..." /> 是为了...

有人可以解释...

  • 它对不同价值观的作用 content?
  • 省略它对不同的浏览器有什么作用?
  • 它的动机是什么?
  • 为什么存在?
有帮助吗?

解决方案

在各种版本的Internet Explorer浏览器中迎合不同的错误或不完整的实现,这是一个可怕的黑客攻击。例如,这个:

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

将指示IE9假装IE7确实是为了避免您的网站在IE7中工作,但不是IE9可能会出现的任何问题。

其他提示

此元标记(或HTTP标头)仅对IE8及以上具有含义。这是一种强制IE呈现页面作为较旧版本的方法。省略它没有效果,只有使用时才效果。

可能的值是“ IE =”,其后是以下任何一个:

  • 边缘 - 渲染作为IE的最新版本
  • IE9-在标准模式下以IE9为IE9
  • 模拟IE9-渲染为IE9,但使用 <!DOCTYPE> 确定模式
  • IE8-在标准模式下以IE8为IE8
  • 模拟IE8-渲染为IE8,但使用 <!DOCTYPE> 确定模式
  • IE7-在标准模式下以IE7为IE7
  • 模拟IE7-渲染为IE7,但使用 <!DOCTYPE> 确定模式
  • IE5-在怪异模式下呈现IE7

此外,您可以添加一个逗号,然后添加Chrome = 1,以告诉IE如果安装了Google Chrome框架,则使用Google Chrome框架渲染页面。因此,您可能有一个看起来像这样的标签:

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

或者,您还可以指定使用GCF作为IE的特定版本,以下是这样:

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=IE8">

这意味着如果安装了GCF,并且IE在版本8或以下否则,则呈现为IE的最新安装版本。

因此,很明显,能够制作旧版本的IE使用GCF很有用,但这可能不是Microsoft实施此功能的意图。它可用于与仅在IE较旧版本中起作用的旧站点的兼容性,并且不能轻易修复,但这很愚蠢。就个人而言,我发现对测试有用。由于从单个开发机器中测试多个版本的IE通常并不那么简单,因此提供了一个不错的解决方案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top