2016-09-07 102 views
0

我正在寫一個Chrome擴展,我希望能夠根據條件禁用JavaScript。所以頁面加載,一堆JavaScript運行,如果我的條件滿足,那麼我想禁用所有的JavaScript。那可能嗎?我們需要終止/停止當前正在運行的腳本。是否可以從JavaScript內禁用JavaScript?

如果我的Chrome擴展腳本停止/禁用,我也不在乎。但如果我能保持這個javascript運行,這將是很好的。

感謝

+3

的可能的複製[谷歌瀏覽器擴展程序 - 如何開啓/關閉JavaScript啓用(http://stackoverflow.com/questions/4663359/google-chrome-extension-how-to-turn-javascript-開關) –

回答

0

一個哈克的方式實現這一目標是通過定義一個對象與它所有的功能,然後從內存中刪除表示對象,像這樣。

var obj = { 


    first : function(){ 

     return "1"; 


    }, 

    second : function(){ 

     return "2"; 


    } 


}; 

console.log(obj.first()); // "1" 
console.log(obj.second()); // "2" 

delete obj; // will remove from memory thus disabling it. 

//will now return error 
console.log(obj.first()); 
console.log(obj.second()); 

請注意,雖然如果你聲明var obj範圍之外的一個指向obj的變量,即使在使用delete之後它仍然會存在。

var obj = { 


    first : function(){ 

     return "1"; 


    }, 

    second : function(){ 

     return "2"; 


    } 


}; 

var stillAlive = obj; 
delete obj; // will it remove from memory? 

//Ha gotcha i'm still here. 
console.log(stillAlive.first()); 
console.log(stillAlive.second()); 
+0

謝謝,但我想知道更多我將如何不重新定義一個JavaScript,就像我可以做一個Chrome擴展使用切換禁用JavaScript,或稍後等待。 – 1337Rooster

+0

你的問題下的評論是你想要的。 – Darkrum

相關問題