X-UA 兼容:IE=9 vs IE=EmulateIE9,其他浏览器

Posted

技术标签:

【中文标题】X-UA 兼容:IE=9 vs IE=EmulateIE9,其他浏览器【英文标题】:X-UA-Compatible: IE=9 vs IE=EmulateIE9, other browsers 【发布时间】:2013-08-04 04:47:48 【问题描述】:

我的公司使用来自第三方供应商的应用程序,因此我们无法控制源代码。该网站在 IE10(仅)中存在兼容性问题,主要是由于 javascript 的呈现以及其他浏览器(Safari、Firefox、Chrome)中的兼容性问题。

由于我们确实可以控制我们的服务器,因此我要求我们的托管团队根据我所做的一些谷歌搜索在 IIS 中添加一个自定义 HTTP 响应标头,如下所示。

在名称框中 --> X-UA-Compatible

在值框中 --> IE=EmulateIE9

现在我想知道 IE=9 是否更可取,以及这是否适用于 IE 以外的其他浏览器。

所以我的问题是:

(1) content=IE=9 和 content=IE=EmulateIE9 有什么区别?

(2) 使用 content=IE=9 会强制 IE 以外的浏览器呈现为 IE9 吗?

(3) 我看到了 Chrome=1 的附加属性。这真的有效吗?

html-5.com 提供了这个定义,所以听起来这个标签在 IE 之外无法工作,但我已经看到了很多其他对 Chrome=1 的引用,我想知道其他情况。

X-UA-Compatible 用于向 IE 浏览器指示应该使用哪个版本的渲染引擎来显示页面。此元标记不会影响其他浏览器,例如 Firefox 和 Opera,它们通常会通过根据既定标准仅以一种方式显示网页来避免浏览器代码体积膨胀(支持多个渲染引擎会带来一些重大挑战,尤其是当内容由一个引擎呈现的访问由不同引擎呈现的嵌入内容)。

谢谢!

【问题讨论】:

考虑使用<!DOCTYPE html><meta http-equiv="X-UA-Compatible" content="IE=edge">:***.com/questions/6771258/… 他说他无法控制源代码。 【参考方案1】:
    使用 IE=9 和 IE=EmulateIE9 之间的区别在于,使用 IE=9 会强制 IE9 使用标准模式,而 EmulateIE9 将遵循 DOCTYPE 来确定标准或怪癖模式。有关更多详细信息,请参阅此链接(虽然有点过时):http://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx

请参阅丹尼尔对 2 和 3 的回答,但简短的版本是这对其他浏览器的影响为零。

【讨论】:

以上是关于X-UA 兼容:IE=9 vs IE=EmulateIE9,其他浏览器的主要内容,如果未能解决你的问题,请参考以下文章

"X-UA 兼容" 内容="IE=9; IE=8; IE=7; IE=EDGE"

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

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

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

X-UA 与 HTTP 标头的兼容性

在 SharePoint 2010 中覆盖 X-UA 兼容元