将JS / JavaScript代码插入父级的iframe中

时间:2017-08-09 09:36:36

标签: javascript html iframe

我有一个脚本,我从我的服务器加载到我的父HTML头... 我想在重新加载时将该脚本插入到我的iframe中。

我有一个函数,可以在我将iframe重新加载到头像之前重新加载: -

function insertScriptIntoHead(){
    var head = iframe.contentWindow.document.getElementsByTagName('head')[0];
    var script = iframe.contentWindow.document.createElement('script');
    script.src = getFromParent();
    script.type = 'text/javascript';
    head.appendChild(script);
}

这个文件是1.5 MB,每次重新加载时它都会再次加载,我想要消除它。

我想如果我可以从父级加载它并将文件放在每次重新加载到iframe中,那么我可能会删除从服务器加载的文件,这将节省时间。

任何帮助将不胜感激

-Thanks

1 个答案:

答案 0 :(得分:6)

JavaScript脚本文件在您将其附加到html页面之前不会开始加载。 您可以在父级中加载脚本并获取代码内容并将其放在iframe中,而不是直接将带有src的脚本标记插入到iframe中。

在父母中,您可以加载它。

<script src="bigjs.js" id="iframejs"></script>

现在,每次iframe重新加载时,您都可以阅读其内容并将内容放入iframe脚本标记中:

function insertScriptIntoHead(){
    var head = iframe.contentWindow.document.getElementsByTagName('head')[0];
    var script = iframe.contentWindow.document.createElement('script');
    script.innerText = document.getElementById('iframejs').innerText;
    script.type = 'text/javascript';
    head.appendChild(script);
}

这样,你就可以达到你想要的效果。