meta http-equiv="X-UA-Compatible" content="IE=edge" 对非 IE 浏览器有影响吗?

Posted

技术标签:

【中文标题】meta http-equiv="X-UA-Compatible" content="IE=edge" 对非 IE 浏览器有影响吗?【英文标题】:Does meta http-equiv="X-UA-Compatible" content="IE=edge" impact on non-IE explorer? 【发布时间】:2013-11-16 01:56:40 【问题描述】:

我想在我的html页面中添加<meta http-equiv="X-UA-Compatible" content="IE=edge">,以便它可以使用可用的最高模式,如果用户在非IE浏览器中浏览此页面,例如firefox或chrome,此行代码是否会影响火狐还是铬?

【问题讨论】:

简短回答:它只被 IE 识别(因为它只是要求使用指定的 IE 的渲染器版本来渲染页面)所以 no,它不会(而且它不会甚至适用于 IE 之前的版本 8)。 【参考方案1】:

我想在我的 html 页面中添加,以便它可以使用可用的最高模式。

这是个好主意。一般来说,IE 无论如何都应该使用它的最佳模式,但偶尔(例如,由于用户的浏览器配置)它可能会默认为兼容模式,如果您的页面不是为它设计的,这不是很好。因此,将此标记放入您的页面是缓解这种情况的好方法。

meta http-equiv=“X-UA-Compatible” content=“IE=edge” 对非 IE 浏览器有影响吗?

不,它没有。该标签是 IE 特有的,被其他浏览器忽略。

它的设计方式可以被其他浏览器使用,但它从来没有被使用过。我见过一些旧的例子,人们建议为其他浏览器指定版本号,但这样做永远不会有任何效果。

除了IE=whatever 之外,唯一有效的选项是chrome=1。但即使这样也只有 IE 使用。 Chrome Frame plugin 使用它来强制页面使用 IE 中的 Chrome 呈现引擎。但请注意,Chrome Frame 现在已弃用,因此您也不应该再使用它了。

总结一下:是的,继续往你的代码中添加元标记,不要担心它会影响其他浏览器。

【讨论】:

感谢您的解释。但是 W3C 验证器说,Bad value X-UA-Compatible for attribute http-equiv on element data. 为什么会这样说? @cornishninja - 因为它是非标准属性。如果你使用它,你会得到一个验证器错误。不幸的是,为了支持所有浏览器,即使严格验证失败,也必须这样做。如果它真的让您感到困扰,可以通过 http 标头而不是元标记来设置 X-UA-Compatible,但在这种情况下确实不需要担心验证器警告。 Meta http-equiv 是一种发送 HTTP 标头的解决方法。之所以说是非标准的,是因为它添加了一个 HTML 标记用于演示目的。 IE。没有真正的内容,也没有内容元描述。您可以为每个 HTML 文档添加来自后端或网络服务器本身的标头。

以上是关于meta http-equiv="X-UA-Compatible" content="IE=edge" 对非 IE 浏览器有影响吗?的主要内容,如果未能解决你的问题,请参考以下文章

meta http-equiv="refresh" 和13种跳转页面方法

优先使用最新版本的IE 和 Chrome 内核 1 <meta http-equiv="

通过meta设置多内核浏览器使用webkit内核解析<meta http-equiv = "X-UA-Compatible" content = "IE=edge(

在网页<head>标签之间都会加<meta http-equiv="Content-Type" content="text/html;chars

BootStrap<meta http-equiv="X-UA-Compatible" content="IE=edge" /; 的说明

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 在 RichFaces webapp 中被