Laden Sie JS-Dateien für Ihren eigenen Gebrauch, unterstützt mehrere Dateien, nicht kompatibel mit IE
/**
* JS-Datei laden
* @param {string ||. array} url js path
* @param {Function} fn Rückruf nach Abschluss des Ladevorgangs
* @return {object} Spielobjekt
* @example
* getScript("url.js",fn)
* getScript(["url-1.js","url-2.js"],fn)
*/
game .getScript = (function() {
var cache = {};//Cache die URL intern und frage sie beim nächsten Mal nicht ab
return function(url, fn) {
if (" string" == = typeof(url)) {
url = [url]; //Wenn es kein Array ist, bringe eine Menge mit
};
var i = 0,//Schleife
ok = 0,// Mehrere js erfolgreich geladen
len = url.length,//Wie viele js insgesamt
head = document.getElementsByTagName("head")[0],
js, _url ,
create = function (url) {//Create js
js = document.createElement("script");
js.type = "text/javascript";
js.src = url ;
head.appendChild (js);
return js;
};
for (; i < len;) {
if (cache[encodeURIComponent((_url = url[i ]))]) {/ /Wenn geladen
(ok >= len && fn) && fn();//Wenn alle js geladen sind, führen Sie den Rückruf aus
continue;
}
Cache[encodeURIComponent(_url) ] = !0;//Cache festlegen
js = create(_url);//Js erstellen
fn && (js.onload = function() {
if ( ok > ;= len) {/ /Wenn alle js geladen sind, führen Sie den Callback
fn();
}
});
};
head = js = _url = create = null aus ;
gib dies zurück ;
}
})();