Heim > Web-Frontend > js-Tutorial > Funktion zum asynchronen Laden von JS-Dateien, geschrieben in Javascript (unterstützt die Übergabe von Array-Parametern)_Javascript-Kenntnisse

Funktion zum asynchronen Laden von JS-Dateien, geschrieben in Javascript (unterstützt die Übergabe von Array-Parametern)_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 16:45:28
Original
1267 Leute haben es durchsucht

Laden Sie JS-Dateien für Ihren eigenen Gebrauch, unterstützt mehrere Dateien, nicht kompatibel mit IE

Code kopieren Der Code lautet wie folgt:

/**
* 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 ;
}
})();
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage