我需要以同步方式包含多个js文件,一旦成功包含它们,我将调用function main()
来创建小部件。目前我已经以这种方式构建了一个函数
var scriptArrayHC = [retrieveURL()+"/js/bootstrap.min.js",
"//platform.twitter.com/widgets.js",
retrieveURL()+"/js/html5shiv-2.js",
retrieveURL()+"/js/ie-emulation-modes-warning.js",
retrieveURL()+"/js/ie10-viewport-bug-workaround.js"];
function loadScript(scriptArray, func){
var counter_script=0;
[].forEach.call(scriptArray, function(src){
var script = document.createElement('script');
script.onload = function() {
counter_script++;
//console.log("Script "+counter_script+" --- "+src);
if(counter_script==scriptArray.length) eval(func);
};
script.src = src;
document.getElementsByTagName('head')[0].appendChild(script);
});
}
loadScript(scriptArray, "main()");
工作正常..但我认为这不是最好的方法。有没有人有更好的方法来做这个或有任何库吗?