9

我的公司使用来自第三方供应商的应用程序,因此我们无法控制源代码。该站点在 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,它们通常会通过根据既定标准仅以一种方式显示网页来避免浏览器代码体积膨胀(支持多个渲染引擎会带来一些重大挑战,尤其是当内容由一个引擎呈现的访问由不同引擎呈现的嵌入内容)。

谢谢!

4

1 回答 1

15
  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 的回答,但简短的版本是这对其他浏览器的影响为零。

于 2013-08-02T19:48:11.220 回答