重新加载iFrame(同域)而不更改`src =`

时间:2017-12-09 17:28:11

标签: javascript php jquery iframe frame

我正在动态创建iframe,它只包含内容(没有src属性)。

var iframe = document.createElement('iframe');
iframe.contentWindow.document.body.innerHTML=  my_page_content;  
....
但是,没有加载JS脚本(script src="....."内的< my_page_content),我必须重新加载脚本。

这些方法不会帮我重新加载框架:

//this one emptyfies the iframe at all
iframeElement.src = iframeElement.src
//this one is not possible, because the `<script>` links are embedded in the content already.
var script = doc.createElement('script');  script.src = "jquery.min.js";
framebody.appendChild(script);

有哪些解决方案可以强制iframe在其html内容中加载包含的scripts?也许我是以错误的方式附加内容?

1 个答案:

答案 0 :(得分:0)

我解决这个问题的唯一方法是使用write()命令在iframe中编写正文:

var ifr = iframeElement.contentWindow.document;
ifr.open(); ifr.write("<body>"+ my_page_content +"</body>");    ifr.close();

appendChild().innerHTML都没有帮助我。