Chargeur de script dynamique dans JS

Comment puis-je écrire un chargeur de script MULTIPLE dynamique avec un gestionnaire complet comme google

google.load("http://script1"); google.load("http://script2"); google.setOnLoadCallback(function(){}); 

Merci

Mon conseil est de ne pas gêner le chargement de script, sauf si vous regardez comment certains frameworks le font parce qu'il peut y avoir des risques de sécurité pour votre application avec ce genre de chose. En fait, je vous redirigerai vers JQuery à la place, car cette fonctionnalité est mise en œuvre (voir ici ).

Il existe des sources libres js qui soulageront votre problème. Vous pouvez utiliser les plugins LABJS ou RequreJS .

Les chargeurs de script comme LABJS , RequireJS amélioreront la vitesse et la qualité de votre code. En outre, il charge les scripts de manière dynamique.

J'ai écrit comme ça

 myApp.Loader = function(){ var queries = []; var q = 0; var p = 0; var started = false; var _callback = function(){}; var start = function(){ if(queries.length > 0 && !started){ started = true; load(queries.shift()); } else if(queries.length > 0 && started){ load(queries.shift()); } else if(queries.length == 0 && started){ started = false; if(q > 0 && q == p){ callback(); } } }; var load = function(fullUrl){ $.getScript(fullUrl, function() { p++; start(); }); }; var callback = function(){ _callback(); }; this.setCallback = function(fnc){ _callback = fnc; if(q > 0 && q == p){ callback(); } }; this.addQuery = function(query){ queries.push(query); q++; if(!started) { start(); } }; return this; } var Loader = new myApp.Loader(); myApp.load = function(fullUrl){ Loader.addQuery(fullUrl); } myApp.setOnLoadCallback = function(fnc){ Loader.setCallback(fnc); } 

Et l'appeler

 myApp.load("http://script1"); myApp.load("http://script2"); myApp.load("http://script3"); myApp.setOnLoadCallback(function(){ // complete script load handling });