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

sid*_*idd 3 html javascript 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);
}
Run Code Online (Sandbox Code Playgroud)

这个文件是1.5 MB,每次重新加载它再次加载,我想消除.

我想如果我可以从父加载它并将文件放在每次重新加载到iframe然后我可能会消除从服务器加载的文件,这将节省时间.

任何帮助将不胜感激

-谢谢

asm*_*mud 6

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

在父级中,您可以加载它.

<script src="bigjs.js" id="iframejs"></script>
Run Code Online (Sandbox Code Playgroud)

现在,每次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);
}
Run Code Online (Sandbox Code Playgroud)

这样,您就可以实现您想要的.