自己用的載入js檔案,支援多檔案,不相容ie
複製程式碼 程式碼如下:
/**
* 載入js檔案
* @param {string || array} url js路徑
* @param {Function} fn 載入完成後回撥
* @return {object} game物件
* @example
* getScript("",fn)
* getScript(["",""],fn)
*/
cript = (function() {
var cache = {};//內部快取下url,下次則不請求
return function(url, fn) {
if ("string" === typeof(url)) {
url = [url]; //如果不是陣列帶個套
};
var i = 0,//迴圈起
ok = 0,//載入成功幾個js
len = th,//一共幾個js
head = lementsByTagName("head")[0],
js, _url,
create = function(url) {//建立js
js = teElement("script");
= "text/javascript";
= url;
ndChild(js);
return js;
};
for (; i < len;) {
if (cache[encodeURIComponent((_url = url[i++]))]) {//如果載入過
(++ok >= len && fn) && fn();//如果載入完所有的則執行回撥
continue;
}
cache[encodeURIComponent(_url)] = !0;//設定快取
js = create(_url);//建立js
fn && (ad = function() {
if (++ok >= len) {//如果載入完所有的js則執行回撥
fn();
}
});
};
head = js = _url = create = null;
return this;
}
})();