我的项目支持IE8到IE10。我们尝试使用标准代码并支持所有IE版本的标准模式。
我们使用以下命令强制IE以最新模式打开:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
但是对于某些情况,我们需要强制IE在兼容模式下打开网站。就像用户在IE10中打开网站一样,它应该在IE10兼容模式下打开。当用户在IE9中打开网站时,它应该在IE9中打开IE8兼容性等等。
这是否可以强制执行兼容模式,或者我们只能强制文档模式而不是浏览器的兼容模式?
如果可能的话,是否可以为所有IE版本提供通用语句,而不是IE版本特定的语法,如在IE8到IE7仿真中的帖子链接中给出的:Force IE8 Into IE7 Compatiblity Mode
答案 0 :(得分:10)
兼容模式旨在帮助用户使用不是最新的旧产品。绝不应该帮助开发人员避免他可能发现的问题。
除非您完全没有选择(例如像SharePoint这样的依赖性损坏......)或者想要暴露严重缺乏能力,否则不应强迫用户以兼容模式查看您的页面。
如果您需要支持所有IE版本,您必须了解每个版本的工作原理并了解每个版本的差异,以便生成一个代码,无论版本如何,都可以产生相同的输出。
如果掌握“糟糕版本”(例如IE6及更旧版本)的想法听起来真的很糟糕,我建议你建立一个阈值,专注于与一些旧版本的兼容性,而不是所有。
编辑:但是如果你真的需要强制兼容模式,你可以使用“X-UA-Compatible”元标记。例如:
<meta http-equiv="X-UA-Compatible" content="IE=9" />