动态放置在iframe内的脚本不会执行

时间:2016-01-28 23:25:06

标签: javascript iframe

上下文

我在页面上有一个iframe,并且我在其中动态插入一个脚本,以便脚本将被沙箱化并且无法影响外部页面。我期待脚本执行,但事实并非如此。这是为什么?

代码

var iframe = document.getElementsById('/* ... */').contentWindow.document;

var script = '<script>document.write("foo");</script>';
iframe.body.innerHTML = script;

当我这样做时,我可以看到在检查DOM时脚本元素被正确插入到iframe的主体中。但是脚本永远不会执行。如果我打开开发工具并转到控制台标签并切换到iframe的上下文并输入document.write('foo');,我会在iframe中看到foo。但是,为什么脚本一旦插入就不会执行?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情(如果使用jQuery)......

$('#iframe_').contents().find('body').append("My Js Code");