我们有一个父页面,它必须在执行HTML5命令的IE9标准模式下运行。下面我们有一个必须在兼容模式(IE7/8)下运行的iframe。
据我所知,在IE9中,iframe继承了父类的文档类型。对吗?这个问题有什么解决方案吗?不知何故,iframe可以在标准模式doctype父框架下使用quirks doctype执行吗?谢谢,塔尔
发布于 2013-03-22 13:39:32
不可能在IE9中的子iframe中触发不同的呈现模式,官方文档如下:http://msdn.microsoft.com/en-us/library/gg558056(v=vs.85).aspx (重点补充):
尽管仅当Windows Internet Explorer检测到某个HTML页请求了对标准的最高级别支持时,才会使用较新的呈现引擎,但对于可能加载到frame和iframe元素中的子页,情况并不总是如此。由于一次只能有一个渲染引擎处于活动状态,因此模式还包括Quirks模式的仿真。
然而,正如它所说的,你可以触发"quirks模式仿真“,这会使IE9渲染引擎保持活动状态,但会以多种方式改变其行为,以匹配旧的quirks模式。
JSBin演示:http://jsbin.com/ozejuk/1/
此示例有一个样式为background: #ff0000; background: 00ff00; border-radius: 30px的div ...在怪癖模式下,接受不带#的十六进制颜色。在IE9模式下,它们不是。在IE9中加载演示将在父页面中显示一个红色的div,在iframe中显示一个绿色的div (但仍然有圆角)。
如何在iframe中触发quirks模式模拟:http://msdn.microsoft.com/en-us/library/gg558096(v=vs.85).aspx
简写:省略DOCTYPE,添加:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
模式仿真在渲染上的怪癖的完整列表:http://msdn.microsoft.com/en-us/library/gg558047(v=vs.85).aspx
https://stackoverflow.com/questions/11723724
复制相似问题