完全不明白是为了什么<meta http-equiv="X-UA-Compatible" content="..." />
...
谁能解释一下...
- 它对不同的值有什么作用
content
? - 省略它对不同的浏览器有什么作用?
- 它的动机是什么?
- 它为什么存在?
完全不明白是为了什么<meta http-equiv="X-UA-Compatible" content="..." />
...
谁能解释一下...
content
?此元标记(或 http 标头)仅对 IE8 及更高版本有意义。这是一种强制 IE 像旧版本一样呈现页面的方法。省略它没有效果,它只有在使用时才有效。
可能的值是“IE=”,后跟以下任何值:
<!DOCTYPE>
确定模式<!DOCTYPE>
确定模式<!DOCTYPE>
确定模式此外,您可以在 Chrome=1 后添加一个逗号,告诉 IE 如果安装了 Google Chrome Frame,则使用它来呈现页面。所以你可能有一个看起来像这样的标签:
<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 或更低,则使用 GCF,否则呈现为最新安装的 IE 版本。
因此,很明显,能够使旧版本的 IE 使用 GCF 很有用,但这可能不是微软在实现这一点时的意图。它可用于与仅适用于旧版本 IE 且无法轻松修复的旧网站兼容,但这有点愚蠢。就个人而言,我发现它对测试很有用。由于从单个开发机器测试多个版本的 IE 通常不是那么简单,因此这提供了一个不错的解决方案。
在各种版本的 Internet Explorer 浏览器中迎合不同的错误或不完整的实现是一种可怕的 hack。例如,这个:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
将指示 IE9 假装它是真正的 IE7,以避免如果您的网站在 IE7 而非 IE9 中工作可能发生的任何问题。
<meta http-equiv="X-UA-Compatible" content="...">
是一个元标记,它指定 Internet Explorer 的文档模式,并允许 Web 作者为 Internet Explorer 浏览器选择特定的文档模式,根据该模式呈现页面。Internet Explorer 8 首次使用它来指定页面是否应呈现为 IE7 文档模式(兼容性视图)或 IE8 文档模式(标准视图)。
X-UA 兼容(HTTP 标头)值“IE=edge”告诉 Internet Explorer 以可用的最高模式显示内容。对于 Internet Explorer 9,这相当于 IE9 模式。如果 Internet Explorer 的未来版本支持更高的兼容性模式,则设置为边缘模式的页面将以该版本支持的最高模式显示。使用 Internet Explorer 9 查看时,这些相同的页面仍会以 IE9 模式显示。Internet Explorer 支持多种文档兼容性模式,这些模式可启用不同的功能并可能影响内容的显示方式。
例如,在 Windows Internet Explorer 8 中,IE=9、IE=edge 和 IE=EmulateIE9 会导致 IE8 模式。
X-UA-Compatible(HTTP 标头)值“IE=edge”强制以标准模式打开网页。
默认情况下,Windows Internet Explorer 8 使用 IE8 模式,Windows Internet Explorer 9 使用 IE9 模式等。
X-UA-Compatible 值“IE=5”指的是 Quirks Mode 或 IE5 文档模式。
X-UA-Compatible 值“IE=7”指的是 IE7 文档模式。
包含具有 http 等效值为 X-UA-Compatible 的元标记的网页可以启用此功能。但此功能不会在任何版本的 Microsoft Edge 中实现。
如果您使用 X-UA-Compatible HTTP 标头来定位旧的遗留文档模式,您的网站将无法反映可用的最佳体验。
从 Internet Explorer 11 开始,大于“10”的内容值会导致 EdgeHTML 模式,这是 Internet Explorer 11 支持的最高文档模式,以相应地呈现网页。
content 属性包含 http-equiv 或 name 属性的值,具体取决于所使用的。
http-equiv 属性的所有允许值都是特定 HTTP 标头的名称。
名称和内容属性以名称-值对的形式提供文档元数据。name 属性给出元数据名称,content 属性给出值。
如果您需要支持 IE10 (Internet Explorer 10)、IE9、IE8 或更旧版本的 Internet Explorer,我建议您使用此元标记和 X-UA-Compatible HTTP 标头的适当值。但如果你只支持最新的浏览器,比如 IE11 或 Edge,我会考虑完全放弃这个标签。