2012-11-21 210 views
0

我有一個ajax腳本,用於下載包含一些javascript代碼的服務器的數據。響應放置在目標div的innerHTML中。之後,腳本掃描包含任何腳本標記的新html的div。通過Ajax添加腳本

這是它開始停止工作的地步。最初,我試圖將每個腳本添加到頭部,但它沒有加載任何外部引用的腳本(即src =「test.js」),也沒有運行任何新代碼。

我的下一個嘗試是運行每個腳本項目,然後使用evalscript.text,它成功執行了已解析的腳本,但仍未加載任何外部引用的腳本。

有沒有人有什麼建議下一步嘗試?

+0

向頭部添加腳本標籤應該可以工作。我知道我以前做過。請原諒我,如果這是光顧,但你確定腳本已經加載之前,你嘗試並調用其中的方法? – urbananimal

+0

他們根本沒有加載。我試着用一堆虛擬腳本(簡單地說,內容爲'alert('test#')')將會被調用,如果在文檔加載時添加,則工作正常,但如果在其已經加載之後,則不會工作... – topherg

+0

嘗試捕獲對DOM中的div NOT('document.createElement('div')')的ajax響應,並使用'document.appendChild()'將其插入到目標div。 – madr

回答

1

我你使用jQuery,您可以使用此電話:

$.getScript("test.js", function(data, textStatus, jqxhr) { 
    console.log(data); //data returned 
}); 

您可以找到的文檔在這裏:http://api.jquery.com/jQuery.getScript/

或者通過MooTools:

Asset.javascript("test.js"); 

你可以在這裏找到文檔: http://mootools.net/docs/more/Utilities/Assets

+1

聲音很有用,但是我使用的站點不使用任何JavaScript框架,所以如果僅包含一個jQuery功能,但我正在挖掘其源,看看它是如何工作的 – topherg