2014-02-12 34 views
0

我討厭在沒有代碼的情況下發布問題,但是如果我知道要發佈什麼,我會知道這個問題。

我所有的jquery插件函數都停止在活動服務器上工作。

他們仍然在本地工作,所有的外部JavaScript文件應該是相同的。

我收到了關於它們的消息$(...).whatever is not a function。我不知道我改變了什麼導致這個..文件被檢測到,我沒有做任何事情來影響範圍。

任何想法?

+0

傻我。包含包含衝突腳本的載入AJAX的內容。嚇到我了。猜猜我最好刪除該腳本,因爲它只是用於實際項目的可視化表示。 –

回答

0

由於這是一個相當令人討厭的問題,其他人將來無疑會面臨這個問題,因此以下是關於此問題的原因和解決方案的更多詳細信息。

問題:我在加載的內容中包含<script></script>,它通過加載與它衝突的javascript(真正的jQuery)破壞了我的母版頁。它使我的自定義插件無用。

解決方案:只需呈現script塊對於加載AJAX的內容無用。就是這樣。

如何從AJAX刪除<script>塊加載的內容:

我嘗試了幾種不同的方法,但最後這一個被證明是最可靠的:

$.ajax(url,{ 
    success: function(data){ 
    data = data.replace(/<script(?:.*)>/gi,'<!--[Script Removed]>>>'); 
    data = data.replace(/<\/script>/gi,'<<<[Script Removed]-->'); 
    $('.faux-container').html(data); 
} 
}); 

它的<script>塊轉換成無害的HTML評論,並解決了我的問題。

相關問題