我有一个脚本,我从我的服务器加载到我的父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
答案 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);
}
这样,你就可以达到你想要的效果。