Das Laden von JS -Dateien selbst, unterstützt mehrere Dateien, ist mit dem IE nicht kompatibel
Die Codekopie lautet wie folgt:
/**
* JS -Datei laden
* @param {String || Array} URL JS -Pfad
* @param {function} fn Rückruf nach dem Laden
* @Return {Objekt} Spielobjekt
* @Beispiel
* getScript ("url.js", fn)
* getScript (["url-1.js", "url-2.js"], fn)
*/
Game.getScript = (function () {
var cache = {}; // Die URL wird intern zwischenstrichen, und beim nächsten Mal ist keine Anfrage erforderlich
Rückgabefunktion (URL, fn) {
if ("String" === Typof (url)) {
url = [url]; // Wenn es sich nicht um ein Array handelt, bringen Sie einen Satz mit
};
var i = 0, // ändern
OK = 0, // Wie viele JS werden erfolgreich geladen
len = url.length, // Wie viele JS gibt es insgesamt
head = document.getElementsByTagName ("head") [0],
JS, _url,
create = function (url) {// js erstellen
js = document.createelement ("script");
Js.Type = "Text/JavaScript";
Js.src = url;
Head.AppendChild (JS);
Rückkehr JS;
};
für (; i <len;) {
if (cache [Encodeuricomponent ((_ url = url [i ++])])) {// wenn geladen
(++ OK> = len && fn) && fn (); // Wenn alle JS geladen werden, führen Sie den Rückruf aus
weitermachen;
}
Cache [Encodeuricomponent (_url)] =! 0; // Cache setzen
js = create (_url); // js erstellen
fn && (js.onload = function () {
if (++ OK> = len) {// Wenn alle JS geladen sind, führen Sie den Rückruf aus
fn ();
}
});
};
head = js = _url = create = null;
gib dies zurück;
}
}) ();