加载特定JS后如何运行javascript函数?

加载特定JS后如何运行javascript函数?,javascript,javascript-events,Javascript,Javascript Events,我制作了一个js函数,用于在html中包含另一个javascript。我需要确保使用该函数加载的脚本已完成处理,然后仅在原始脚本中进一步移动 function loadBackupScript(){ var script = document.createElement('script'); script.src = 'http://www.geoplugin.net/javascript.gp'; script.type = 'text/javascript';

我制作了一个js函数,用于在html中包含另一个javascript。我需要确保使用该函数加载的脚本已完成处理,然后仅在原始脚本中进一步移动

function loadBackupScript(){
    var script = document.createElement('script');
    script.src = 'http://www.geoplugin.net/javascript.gp';
    script.type = 'text/javascript';
    var head = document.getElementsByTagName("head")[0];
    head.appendChild(script);
}

我需要知道脚本已经加载,可以提前使用它的函数。我该怎么做?

将此添加到您的函数中:

// all cool browsers
script.onload = doSomething;
// IE 6 & 7
script.onreadystatechange = function() {
if (this.readyState == 'complete') {
    doSomething();
}
如果不信任这些事件,还可以使用setTimeout()检查函数是否存在。 有关这方面的一篇好文章可以在这里找到:

我建议使用

使用它你可以做到这一点

$LAB
.script("framework.js")
.wait(function(){
    //called when framework.js is loaded
})
.script("init.js")
.wait(function(){
    //called when init.js is loaded
});
这是跨浏览器的,通常比将脚本标记硬编码到html中更有效,因为它支持并行下载

你可以阅读更多关于这方面的内容

$LAB
.script("framework.js")
.wait(function(){
    //called when framework.js is loaded
})
.script("init.js")
.wait(function(){
    //called when init.js is loaded
});