以同步方式使用javascript加载.js文件

时间:2015-07-21 07:42:39

标签: javascript jquery

我需要以同步方式包含多个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()");

工作正常..但我认为这不是最好的方法。有没有人有更好的方法来做这个或有任何库吗?

1 个答案:

答案 0 :(得分:0)

USE RequireJS解决问题