我有一个脚本,我从我的服务器加载到我的父 HTML 头中...... 我想在重新加载时将该脚本插入到我的 iframe 中。
我有一个函数可以让我的 iframe 在它像这样将脚本插入 head 之前重新加载:-
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,那么我可能会消除从服务器加载的文件,这将节省时间。
任何帮助将不胜感激
-谢谢
最佳答案
JavaScript 脚本文件只有在您将其附加到 html 页面后才会开始加载。 可以在parent中加载脚本,获取代码内容放到iframe中,而不是直接将带有src的script标签插入到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);
}
这样,你就可以实现你想要的。
关于javascript - 从父级插入 JS/JavaScript 代码到 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45586928/