您需要管理脚本加载事件和调用myapp_init()后
有些在每个if()条件中都是这样的:
var myapp_script;
var scripts_loaded = 0;
if (!window.jQuery) {
myapp_script = document.createElement('script');
document.body.appendChild(myapp_script);
myapp_script.src = 'http://myapp.dev/js/jquery.min.js';
console.log('load jquery');
myapp_script.onload = function(){
scripts_loaded ++;
if(scripts_loaded === 4){ //4 because in your example you have 4 scripts to load
myapp_init();
}
}
}else{
scripts_loaded ++;
}
//...
//And so on with others if conditions
这不是一个优雅的解决方案,但只是一个想法:以某种方式检查是否加载了所有脚本,然后调用myapp_init();