2010-10-05 39 views
0

我正在通過以下動態加載JavaScript。跟蹤是否加載了動態JavaScript文件

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 

這個例子是從http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml

採取現在的問題是調用JS功能

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

我要跟蹤是否其加載與否之後。因爲我想在加載的文件中調用一個函數。我在這裏先向您的幫助表示感謝。

回答

1

您可以使用try/catch語句,如果您調用缺少的函數(在try中),則不會出現錯誤。如果需要,在catch中放置一個異常處理程序。

0

除了的try/catch方法,你可以創造的東西,你可以測試工作中存在的間隔,直到你發現你的腳本加載:

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

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