Chargez des fichiers js pour votre propre usage, prend en charge plusieurs fichiers, non compatible avec IE
/**
* Charger le fichier js
* @param {string || url js path
* @param {Function} fn Callback une fois le chargement terminé
* @return {object} game object
* @exemple
* getScript("url.js",fn)
* getScript(["url-1.js","url-2.js"],fn)
*/
game .getScript = (function() {
var cache = {};//Cache l'url en interne et ne la demandera pas la prochaine fois
return function(url, fn) {
if (" string" == = typeof(url)) {
url = [url]; //Si ce n'est pas un tableau, apportez un ensemble
};
var i = 0,//Loop
ok = 0,// Plusieurs js chargés avec succès
len = url.length,//Combien de js au total
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 ]))]) {/ /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 = create(_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 ;
renvoie ceci ;
}
})();