当包含页面处于 quirks 模式时,iframe 不会在 IE9 模式下呈现



我在以怪癖模式运行的页面中有一个 iframe(我无法控制包含的页面),我需要我的页面以与现代浏览器功能兼容的模式呈现。

包含的页面大量使用较新的JavaScript功能(特别是漂亮的数组函数)和SVG渲染。 虽然我可以很容易地填充数组功能,但我不能强制渲染 svg。

需要明确的是,内页没有以怪癖模式运行 - 我已经指定了一个文档类型和 ie=edge <元>标签。 看起来它使用的是ie8渲染模式(很难确定)

问题的示例如下:http://stevesspace.com/quirks/quirks.html - 在 chrome 中加载它以查看预期的输出,并在 IE9 或 10 中检查它的实际输出。

编辑:我已经将文档模式和兼容模式添加到示例中,我可以确认它使用的是IE8文档模式。

我最终使用了对象标签而不是 iframe,它似乎在现代浏览器中工作正常。

<object type="text/html" data="http://example.com"></object>

事实证明,您无法在IE9中使用javascript修改URL,但这没什么大不了的 - 删除/添加新的对象元素也同样适用于此。

更新:此标记也可以位于 iframe 指向的中间页面中,并且一切正常更新 2:此解决方案在 IE10 中不起作用

最新更新