J'ai fait une fonction JS pour inclure un autre JavaScript dans mon HTML. Je dois m'assurer que le script que j'ai chargé à l'aide de la fonction est doté du traitement terminé puis ne se déplace que dans mon script d'origine.
function loadBackupScript(){
var script = document.createElement('script');
script.src = 'http://www.geoplugin.net/javascript.gp';
script.type = 'text/javascript';
var head = document.getElementsByTagName("head")[0];
head.appendChild(script);
}
3 Réponses :
Ajoutez ceci à votre fonction:
// all cool browsers
script.onload = doSomething;
// IE 6 & 7
script.onreadystatechange = function() {
if (this.readyState == 'complete') {
doSomething();
}
function loadBackupScript(callback) {
var script;
if (typeof callback !== 'function') {
throw new Error('Not a valid callback');
}
script = document.createElement('script');
script.onload = callback;
script.src = 'http://www.geoplugin.net/javascript.gp';
document.head.appendChild(script);
}
loadBackupScript(function() { alert('loaded'); });
Je recommanderais d'utiliser Labjs pour cela.
Utiliser, vous pouvez faire ce P>
$LAB
.script("framework.js")
.wait(function(){
//called when framework.js is loaded
})
.script("init.js")
.wait(function(){
//called when init.js is loaded
});