我有一个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/