在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进行不同的交互,这会破坏我的代码。
答案 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,相对链接将不再像预期的那样工作。