如何使用Javascript动态将内存中的html加载到FireFox中的iframe中?

时间:2012-09-04 17:34:05

标签: javascript iframe

在chrome中,如果我将HTML作为一个名为html的var中的字符串,我可以轻松地将其加载到iframe中并使iframe执行该html页面(包含它可能包含的任何css / jss / etc): / p>

window.sHTML = html;
iframe.src = javascript:parent.sHTML

在Firefox中,这根本不起作用。有没有办法在Firefox中运行?请注意,我需要JS在iframe中正确执行。例如,这个小提琴http://jsfiddle.net/9k9Pe/2/类似于我想要的但是如果html中有一个脚本标签那么就会破坏它。

UPDATE:这实际上在firefox中有效,它只是与window.location进行不同的交互,这会破坏我的代码。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题:

window.sHTML = html;
iframe.src = javascript:parent.sHTML

这实际上在firefox中有效,它只是与window.location进行不同的交互,这会破坏我的代码。

详细介绍,如果你这样做,请使用chrome。

iframe.src = www.foo.com/bar.html
window.sHTML = html;
iframe.src = javascript:parent.sHTML

然后iframe将执行html字符串中的html,但其window.location将保留为www.foo.com/bar.html,相关链接将被视为iframe来自www.foo.com/bar。 HTML

但是在FF中,window.location变为javascript:parent.sHTML,相对链接将不再像预期的那样工作。