Javascript 当包含页面处于怪癖模式时,iframe不在ie9模式下呈现

Javascript 当包含页面处于怪癖模式时,iframe不在ie9模式下呈现,javascript,html,iframe,internet-explorer-9,quirks-mode,Javascript,Html,Iframe,Internet Explorer 9,Quirks Mode,我的页面中有一个iframe,它在quirks模式下运行(我无法控制包含它的页面),我需要我的页面在与现代浏览器功能兼容的模式下呈现 包含的页面大量使用了较新的JavaScript特性(尤其是漂亮的数组函数)和SVG呈现。虽然我可以很容易地填充数组函数,但我不能强制svg进行渲染 要清楚的是,内部页面不是在怪癖模式下运行的-我已经指定了doctype和ie=edge标记。看起来它使用的是ie8渲染模式(很难确定) 这里有一个问题示例:-在chrome中加载它以查看预期输出,并在IE9或10中检查

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

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

要清楚的是,内部页面不是在怪癖模式下运行的-我已经指定了doctype和ie=edge标记。看起来它使用的是ie8渲染模式(很难确定)

这里有一个问题示例:-在chrome中加载它以查看预期输出,并在IE9或10中检查它的实际输出


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

我最后使用的是对象标记而不是iframe,它在现代浏览器中似乎可以正常工作

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

事实证明,在IE9中不能使用javascript修改URL,但这并不是什么大问题——删除/添加一个新的对象元素同样适用于此

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

文档类型的可能重复项显然是从IE9继承的。您的测试是正确的:页面在IFrame内部变为红色,但在IFrame(IE)外部或在Chrome中打开时不会变为红色。现在如何解决它。。。我不知道。:-/不过,这是一个很好的问题,有很好的证据。这里有一个技巧,说明如何至少修复由于这个问题而产生的任何CSS问题。但这并不能修正怪癖模式@GolezTrol我仔细研究了这个问题——我的问题实际上与之相反。iframe没有在怪癖模式下运行-它在IE8模式下运行。doctype/meta标记应该可以解决这个问题,但是没有。我可以调整所有JS功能,但是SVG支持非常关键,不能调整。在这种情况下,您可以使用类似于(flash)或(SVG->vml)的库以不同的方式呈现图形。它开始变得恶心,但我不知道还有什么。我可以在很多地方找到问题(以及“反向问题”),但没有找到解决方案。你能扩展吗?对我来说很好。在IE10中,解决方案会发生什么?IE10中的iframe解决方案似乎将父级渲染为怪癖,将内部渲染为IE10标准模式,我认为这是您想要的。很抱歉回复太慢。我没有这种行为-看。注意:如果父页面有问题,IE10会切换浏览器模式,但如果是IE8,则不会切换。使用对象而不是IFRAME解决了我的渲染模式问题。但是OBJECT标记有一个
contentWindow
字段,而IFRAME标记有。因此,在尝试将主页呈现为IE8(保留旧的js代码)和iframe呈现为IE9(显示svg)几个小时后,我在这里找到了这个对象标记。这对我的需求非常有效,而iframe则在IE中努力工作。