10

我的项目支持 IE8 到 IE10。我们尝试使用标准代码并支持所有 IE 版本的标准模式。

我们使用以下命令强制 IE 以最新模式打开:

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

但在某些情况下,我们需要强制 IE 以兼容模式打开站点。就像用户在 IE10 中打开网站一样,它应该以 IE10 兼容模式打开。当用户在 IE9 中打开网站时,它应该在 IE9 兼容中打开,以此类推。

这甚至可以强制兼容模式还是我们只能强制文档模式而不是浏览器的兼容模式?

如果可能的话,是否可以为所有 IE 版本提供通用语句,而不是 IE 版本特定语法,如在将 IE8 指向 IE7 仿真时链接的帖子中给出的那样:强制 IE8 进入 IE7 兼容模式

4

1 回答 1

11

兼容模式旨在帮助用户使用不是最新的旧产品。它绝不应该帮助开发人员避免他可能发现的问题。

除非您绝对别无选择(例如 SharePoint 等损坏的依赖项......)或想要暴露严重缺乏能力,否则您不应强迫用户以兼容模式查看您的页面。

如果您需要支持所有 IE 版本,则必须了解每个版本的工作原理并了解每个差异,以便编写可以产生相同输出的代码,无论版本如何。

如果掌握“蹩脚版本”(例如 IE6 和更早版本)的想法对您来说真的很糟糕,我建议您建立一个门槛,专注于与一些旧版本的兼容性,而不是所有旧版本。


编辑:但如果你真的需要强制兼容模式,你可以使用“X-UA-Compatible”元标记。例如:

<meta http-equiv="X-UA-Compatible" content="IE=9" />
于 2013-07-13T07:38:04.863 回答