14

我最近发现了将以下内容添加到网站标题中的乐趣:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

网站可以正常工作,CSS 很漂亮,生活很美好。但我有点担心这是一种多么好的做法?

安装了 IE7 的非常旧的计算机怎么样?那个版本的IE7真的可以访问IE8标准模式吗?

4

6 回答 6

24

对您问题最后一部分的简短回答是否定的:IE7 不能在 IE8 模式下工作。因此,使用X-UA-Compatible标头不会强制旧版本的 IE 认为它们是新版本。(如果可行,我们都可以开始使用content="IE-10"并永远不必担心向后兼容性)

X-UA-Compatible标志的作用是告诉较新版本的 IE 退回到兼容模式以模拟旧版本。因此,您的content="IE-8"标志对 IE7 或 IE8 没有影响,但会使 IE9 退回到 IE8 模式。

这意味着 IE9 将以试图向后兼容的名义有效地抛弃它的新功能。

如果这是你想要的 IE9,那么一定要使用X-UA-Compatible标题。如果它不是你想要的,那就不要使用它。

(值得注意的是,众所周知,IE 中的向后兼容模式不太擅长与他们试图模拟的版本的真实副本 100% 兼容,所以不要以为你会得到一个完美的副本IE8 也可以在 IE9 中运行——它会有自己的怪癖,与正常模式下的 IE8 或 IE9 不同)

于 2012-05-04T09:11:53.747 回答
2

另一件需要注意的是,微软提供的标签示例并不总是有效。阅读定义文档兼容性,尤其是页面底部的社区添加。

就最佳实践而言,它们可能不是最好的长期解决方案,但在 IE9 发布和网站关闭时非常方便。

于 2012-05-04T09:38:53.887 回答
1

后向兼容大家说的对,只能在严格要求的情况下才应用,因为它不能完美运行,而且不,你不能仅仅通过添加兼容性标签来获得新浏览器的功能到旧浏览器。

于 2013-09-24T06:47:24.427 回答
0

我在 Windows 7 测试环境中安装了 IE8,它像以前的 IE7 一样呈现我的代码的某些部分(我的元标记中没有content="IE7" )!
在另一台装有 Windows 7 + IE8 的机器上,代码呈现不同,但我想要的方式。在http://www.greywyvern.com/?post=313
上有一篇有趣的文章告诉我们 IE8 的渲染方式取决于系统上安装的 Service Pack(这篇文章是关于 XP,但我的是 Windows 7,我有同样的问题)。

所以现在我把content="IE10"放在我的网页上,我的网站在 IE10、IE9 和 IE8 中正确显示。

于 2013-03-28T10:52:34.477 回答
0

我正在使用 Discus,它与旧版本的 IE 不兼容。我得到了他们说在我的页面代码中使用 content="IE-8" 的帮助......

content="IE-8" 还告诉我的浏览器更改表格和文本的大小等:p 我更改为content="IE-7"它工作得很好。

于 2013-05-03T15:40:35.347 回答
0
于 2013-06-07T06:50:12.097 回答