2014-10-27 117 views
0

是否可以將id添加到通過jQuery.ajax();加載的腳本的<script>標記中?修改通過jQuery.ajax加載的腳本()

這是我如何加載腳本:

$.ajax({ 
    type: "POST", 
    url: 'js/script.js', 
    dataType: 'script', 
    success: function() { 

     // do something 
    } 
}); 

我需要的是能夠識別腳本爲未來的互動。

我知道我可以可能使用dataType: 'text',然後我自己<script></script>標籤內有id添加內容,自己將其添加到DOM ......但如果我能避免這種情況,我會很高興: )

在此先感謝。

+1

腳本加載並運行後,未經修改的文本內容(或將其從DOM中刪除)不會影響腳本。你想做什麼? – 2014-10-27 17:53:28

+0

不知道我說得對。我想要做的是稍後重新載入相同的腳本(相同的函數等),但JS本身被一些服務器端腳本修改。基本上我想在再次添加它之前從DOM中刪除它。 – MrUpsidown 2014-10-27 17:56:19

+0

如果有人可以確認...... Thx! – MrUpsidown 2014-10-27 23:18:06

回答

0

使用此技術,腳本不會添加到DOM。

dataType "script": Evaluates the response as JavaScript and returns it as plain text.

評估一次,從延遲加載腳本函數和變量將繼續提供給瀏覽器:相反,隨着documentation說,返回的JavaScript進行評估。因此,清理代碼是的唯一途徑從窗口範圍刪除功能(S):

delete window.myFunctionName; 

一旦完成,調用函數或試圖訪問任何定義的變量它將返回:

ReferenceError: myFunctionName is not defined

ReferenceError: variableName is not defined