我在头部添加了一个兼容模式的meta标签,以强制浏览器使用IE8模式进行渲染。 它可以在IE10和IE11中工作,但无法在IE9中工作。
<meta http-equiv="X-UA-Compatible" content="IE=IE8" />
有人能解释一下我在这里做错了什么吗?我应该使用content="IE=EmulateIE8"代替content="IE=IE8"吗?
我在头部添加了一个兼容模式的meta标签,以强制浏览器使用IE8模式进行渲染。 它可以在IE10和IE11中工作,但无法在IE9中工作。
<meta http-equiv="X-UA-Compatible" content="IE=IE8" />
有人能解释一下我在这里做错了什么吗?我应该使用content="IE=EmulateIE8"代替content="IE=IE8"吗?
好的,通过 Carpetsmoker
和 www.sblog.in
提供的链接,我得出了一个广泛的答案,并增加了更多的来源。这就是我找到的:
从 IE8 Beta2 开始,有一种新的方法可以使你的网站兼容性更好。这种方法被称为 IE=EmulateIE7
(它也支持像你提问中的最新浏览器)。
在同样的链接中提供了这个:
IE=7: 以 IE7 标准模式显示。
IE=EmulateIE7: 在 IE7 标准模式下显示 DOCTYPE;在 Quirks 模式下显示怪异模式 DOCTYPE。
所以基本上当你指定版本号时,比如 IE=8
,你就明确了页面需要使用浏览器曾经拥有的最先进的标准,而不一定是它实际呈现的方式。
另一方面,如果你指定了 IE=EmulateIE8
,浏览器将会决定它是以版本标准还是怪异模式显示。所以如果 IE8
用怪异模式呈现 www.example.com
,那么收到 IE=EmulateIE8
的 IE11
将会做出相同的选择。
从兼容性的角度来看,使页面向后兼容的正确方式是始终使用Emulate版本。
我发现 这个非常有用的图表展示了 IE
用于确定它使用哪个 Document Mode
的路径,你可以看到在标记的Emulate版本改变决策的位置。
P.S.
我不会直接在这里粘贴图像,因为它太大了,无法适应这个问答框的宽度。
了解传统文档模式
在此处 应该会提供一些见解。 - Martin Tournoij