如果我将新脚本加载到页面中,是否可以访问已定义的函数?
喜欢:

function parentFunction() {
    // do something
}
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "http://somedomain.com/somescript";
document.head.appendChild(s);

runScript();

当我尝试外部脚本时,我得到了:
function runScript(){
    alert('new code'); // this works
    parentFunction();  // Uncaught ReferenceError: parentFunction is not defined
}

最佳答案

您必须将parentFunction导出到闭包之外,使其全局。

您可以通过将其设置为window的属性来实现:

function parentFunction() {
    // do something
}
window.parentFunction = parentFunction;


或更短:

window.parentFunction = function() {
    // do something
};

关于javascript - 父级的访问功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22519797/

10-12 13:01