2011-05-20 33 views
-1

好吧,所以我知道這是非常奇怪和不正常的,我應該避免它,但這是我想要做的。我基本上想通過jQuery在頭文件中重新加載每個<script>。您可以使用.load(url+" #element"),但這僅適用於ID不帶標籤的元素。使用jQuery重新加載<head>

如何選擇並重新加載文檔中的所有腳本?

感謝

+0

只需重新加載頁面。 – ThiefMaster 2011-05-20 23:23:24

回答

-2

我發現了一個替代解決方案,並採取了漫長的路線纔是安全的。謝謝你們的答案。這裏肯定有一些有用的信息。

+0

你的解決方案是什麼?把它作爲你的答案編輯,以防別人幫助別人。 – Jacksonkr 2013-09-14 18:14:39

0

據我所知,你正在試圖做的是負載更JS到頁面上。如何使用AJAX(以PHP作爲後端)獲取JS文件的內容(作爲字符串),然後使用Javascript的eval()函數在客戶端執行它。

+0

你甚至不需要使用PHP,你會嗎?只要獲取JavaScript文件....除非文件來自不同的域,我想。 – sdleihssirhc 2011-05-20 23:25:20

+0

噢,你可以在jQuery ajax調用中將dataType設置爲'script',或者使用http://api.jquery.com/jQuery.getScript/來獲取腳本並執行它。 – ErJab 2011-05-20 23:58:39

0

最好的辦法就是重新添加每個腳本標籤。

$('head script').each(function(idx,el){ 
    var pSrc = $(el).attr('src'); 
    if (pSrc) 
    { 
     $('head').append('<script src="'+pSrc+'"></script>'); 
    } 
}); 

我做了一個粗略的測試,它似乎工作正常。

+0

快速提示btw ...如果腳本有某種碰撞檢測,輔助呼叫可能不會覆蓋第一個。 替代方法是......重新加載瀏覽器,因爲只要您嘗試清除全局變量,所有投注就會關閉。 – 2011-05-20 23:32:26