Comment puis-je écrire chargeur dynamique de script multiple avec gestionnaire complet comme Googlechargeur de script dynamique JS
google.load("http://script1");
google.load("http://script2");
google.setOnLoadCallback(function(){});
merci
Comment puis-je écrire chargeur dynamique de script multiple avec gestionnaire complet comme Googlechargeur de script dynamique JS
google.load("http://script1");
google.load("http://script2");
google.setOnLoadCallback(function(){});
merci
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 appellent
myApp.load("http://script1");
myApp.load("http://script2");
myApp.load("http://script3");
myApp.setOnLoadCallback(function(){
// complete script load handling
});
Mon conseil est de ne pas déranger avec le script vous charger, sauf si vous prenez un Regardez comment certains cadres 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 redirigerais vers JQuery car il a cette fonctionnalité implémentée (voir here).
Pourriez-vous élaborer? Qu'essayez-vous de faire exactement? – Harmen