Le chargement des fichiers JS par vous-même, prend en charge plusieurs fichiers, est incompatible avec IE
La copie de code est la suivante:
/ **
* Chargement du fichier JS
* @param {String || Array} URL JS Chemin
* @param {function} fn rappel après le chargement
* @return {objet} Objet de jeu
* @exemple
* getScript ("url.js", fn)
* getScript (["url-1.js", "url-2.js"], fn)
* /
jeu.getscript = (function () {
var cache = {}; // L'URL est mise en cache en interne, et aucune demande n'est requise la prochaine fois
fonction de retour (url, fn) {
if ("string" === typeof (url)) {
url = [url]; // Si ce n'est pas un tableau, apportez un ensemble
};
var i = 0, // change
Ok = 0, // combien de js sont chargés avec succès
len = url.length, // Combien de js y a-t-il au total
head = document.getElementsByTagName ("head") [0],
js, _url,
create = function (url) {// crée js
js = document.createElement ("script");
jsype = "text / javascript";
jsrc = url;
Head.ApendChild (JS);
retourner js;
};
pour (; i <len;) {
if (cache [encodeuRICPORANT ((_ url = url [i ++]))]) {// si chargé
(++ ok> = len && fn) && fn (); // si tous les js sont chargés, exécutez le rappel
continuer;
}
cache [encodeuriComponent (_url)] =! 0; // Définir le cache
js = créer (_url); // créer js
fn && (js.Onload = function () {
if (++ ok> = len) {// Si tous les js sont chargés, exécutez le rappel
fn ();
}
});
};
head = js = _url = create = null;
retourner ceci;
}
}) ();