我有一个HTML页面,其中包含parent.js。在该html中,将在运行时创建一个iFrame。此iframe在其上下文中需要parent.js。
如果我有一个

function save() { ... }

在parent.js中,我可以从iframe.js调用它,例如
parent.save();

但是我需要在iframe上下文中调用它,例如
save();

因此,我已经在iframe html中再次加载了parent.js。这样,每次我创建新的iframe时都会加载parent.js。

无论如何,我可以重用已经加载的parent.js到创建的每个iframe中吗?
loadParentJS("parent.js");

在iframe.js中。这不应再向应用程序服务器发出请求。

最佳答案

在闭包中将代码封装在parent.js中:

var loadParentJS = function(window) {
    window.save = function() {
      // code
    };

    window.other = function() {
      // code
    };

  // rest of your code...

};

loadParentJS(window);

然后在您的iframe中运行以下命令:
parent.loadParentJS(window);

关于javascript - 如何将JavaScript从父级加载到子级上下文,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11472916/

10-09 18:13
查看更多