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 ;
}
})();
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn