好的,所以我正在写一个书签,希望最终变成一个插件,它将检查当前的URL,然后根据该URL将它们重定向到另一个页面。我遇到的问题是我的一个函数在包含新的js文件之前运行。一个例子是我加载jquery和sweet alert然后运行甜蜜警报功能:
function loadElements() {
var addjquery = document.createElement('script');
addjquery.src = '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js';
document.head.appendChild(addjquery);
// Then add sweet alert js/css
}
function runstuff() {
swal("Its good!!","yay","success");
}
然后我背靠背跑两个
loadElements();
runstuff();
现在发生的事情是当我运行这个书签时,我收到一条错误,指出swal is not defined
。但是,当我第二次运行它时,它完全正常并且符合预期。任何想法如何延迟运行“runstuff”功能直到加载javascript?
答案 0 :(得分:1)
加载脚本时需要回调,它是异步的:
addjquery.addEventListener('load', function (e) {
alert('jQuery Loaded');
console.log(e);
runStuff();
}, false);
<强> Fiddle 强>