2010-10-05 4 views
0

Je suis en train de charger javascript de façon dynamique à travers.suivi si les fichiers javascript dynamiques sont chargés ou non

function loadjscssfile(filename, filetype){ 
if (filetype=="js"){ //if filename is a external JavaScript file 
    var fileref=document.createElement('script') 
    fileref.setAttribute("type","text/javascript") 
    fileref.setAttribute("src", filename) 
} 
else if (filetype=="css"){ //if filename is an external CSS file 
    var fileref=document.createElement("link") 
    fileref.setAttribute("rel", "stylesheet") 
    fileref.setAttribute("type", "text/css") 
    fileref.setAttribute("href", filename) 
} 
if (typeof fileref!="undefined") 
    document.getElementsByTagName("head")[0].appendChild(fileref) 
} 

loadjscssfile("myscript.js", "js") //dynamically load and add this .js file 

Cet exemple est tiré de http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml

Maintenant, le problème est après avoir appelé la fonction js

loadjscssfile("myscript.js", "js") 

je veux suivre si son chargé ou non. Parce que je veux appeler une fonction dans le fichier chargé. Merci pour l'aide à l'avance.

Répondre

1

Vous pouvez utiliser une instruction try/catch, alors vous n'obtiendrez pas d'erreur si vous appelez une fonction manquante (inside try). Si nécessaire, placez un gestionnaire d'exception dans le catch.

0

En plus de la méthode try/catch, vous pouvez créer quelque chose que vous pouvez tester l'existence d'un intervalle sur jusqu'à ce que vous attrapez votre script chargé:

var myCheck = setInterval(function { 
    if (typeof(myFunc) == 'function') { 
    clearInterval(myCheck); 

    // Anything else here with your script. 
    } 
}, 100); 
Questions connexes