Maison > interface Web > js tutoriel > le corps du texte

Fonction de chargement asynchrone du fichier js écrite en javascript (prend en charge le passage des paramètres de tableau)_compétences javascript

WBOY
Libérer: 2016-05-16 16:45:28
original
1250 Les gens l'ont consulté

Chargez des fichiers js pour votre propre usage, prend en charge plusieurs fichiers, non compatible avec IE

Copier le code Le code est le suivant :

/**
* 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 ;
}
})();
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal