2012-01-31 62 views
7
var scripts = document.getElementsByTagName("script"); 
for (var i=scripts.length; i--;){ 
    (scripts[i]).parentNode.removeChild(scripts[i]); 
} 

有人問我這個問題,我的第一個想法是:不。但是,當您刪除style元素時,頁面會自動更新,刪除樣式。這可能是因爲瀏覽器如何掛鉤css - 我想我記得,CSS更新每個事件(鼠標移動,點擊,類型等)。刪除腳本元素是否從內存中刪除其功能?

我只是想確認,擺脫腳本標記,不會擺脫已經創建的函數,因爲我不在我可以測試的計算機。

這也讓我思考的良好做法,以幫助安全代碼對螢火蟲[般]用戶

回答

8

簡短的回答,第

這得到了由引擎計算一次會留下任何腳本在你的會話剩餘時間內存中。即使刪除包含代碼的整個腳本節點也不會改變該事實。