在JS文件中包含多个javascript文件

时间:2017-04-19 03:36:12

标签: javascript

所以,如果我必须在.js文件中包含一个Javascript文件,我会使用下面的脚本。它工作正常。

var script = document.createElement("SCRIPT");
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
script.type = 'text/javascript';
script.onload = function() {

  //Some code

};
document.getElementsByTagName("head")[0].appendChild(script);

如果我需要包含1个以上的文件,我该怎么办。

3 个答案:

答案 0 :(得分:3)

你可以创建一个函数并传递你想要包含的js文件,如下所示:

        function scriptLoader(path, callback)
        {
            var script = document.createElement('script');
            script.type = "text/javascript";
            script.async = true;
            script.src = path;
            script.onload = function(){
                if(typeof(callback) == "function")
                {
                    callback();
                }
            }
            try
            {
                var scriptOne = document.getElementsByTagName('script')[0];
                scriptOne.parentNode.insertBefore(script, scriptOne);
            }
            catch(e)
            {
                document.getElementsByTagName("head")[0].appendChild(script);
            }
        }

并称之为:

scriptLoader('/path/to/file.js');

以类似的方式你可以调用你喜欢的JS文件:

scriptLoader('/path/to/file2.js');
scriptLoader('/path/to/file3.js');

甚至使用像这样的onload回调函数:

scriptLoader('/path/to/file6.js',function(){
    alert('file6 loaded');
});

答案 1 :(得分:0)

我想你会像你到达那里那样做,但只需将变量名称从var script更改为var scriptA,并将后面的代码更改为匹配{{1}转到script.src =

答案 2 :(得分:0)

此函数将加载一个或多个脚本,传递单个文件或多个数组:

function include(src, cb) {
  arr = (src instanceof Array) ? src : [{
    'src': src,
    'cb': cb
  }];
  arr.forEach(function(item) {
    _include(item.src, item.cb);
  })

  function _include(src, cb) {
    var script = document.createElement("SCRIPT");
    script.src = src;
    script.async = true;
    script.type = 'text/javascript';
    script.onload = function() {
      if (cb) cb()
    }
    document.getElementsByTagName("head")[0].appendChild(script);
  }
}

include("/js/file1.js");
include("/js/file1.js", function(){console.log("file1 loaded")});
include([{src:"/js/file1.js"},{src:"/js/file2.js"},{src:"/js/file3.js"}]);