题
我不明白 根本 什么 <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通常并不那么简单,因此提供了一个不错的解决方案。
不隶属于 StackOverflow