javascript - 从父级插入 JS/JavaScript 代码到 iframe

标签 javascript html iframe

我有一个脚本,我从我的服务器加载到我的父 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/

相关文章:

javascript - 更改 iframe 的内容

javascript - JavaScript 在浏览器控制台上运行,但在我放入开发人员控制台时却不行

javascript - GWT 编译器是否会减少外部库中未使用的 JavaScript 代码?

javascript - 按字母顺序对 JSON 响应对象进行排序

javascript - 在 AngularJS 中测试 Promise 而不是回调

php - 如何使用PHP + mySQL创建一系列DIV?

php - Localhost over network - CSS 文件在通过网络访问时被缓存而不更新

javascript - iframe url 操作并添加为查询字符串

css - 如何设置 iframe 滚动条的样式?

javascript - CSS 中的文本不会在图像下对齐