我正在寫一個Chrome擴展,我希望能夠根據條件禁用JavaScript。所以頁面加載,一堆JavaScript運行,如果我的條件滿足,那麼我想禁用所有的JavaScript。那可能嗎?我們需要終止/停止當前正在運行的腳本。是否可以從JavaScript內禁用JavaScript?
如果我的Chrome擴展腳本停止/禁用,我也不在乎。但如果我能保持這個javascript運行,這將是很好的。
感謝
我正在寫一個Chrome擴展,我希望能夠根據條件禁用JavaScript。所以頁面加載,一堆JavaScript運行,如果我的條件滿足,那麼我想禁用所有的JavaScript。那可能嗎?我們需要終止/停止當前正在運行的腳本。是否可以從JavaScript內禁用JavaScript?
如果我的Chrome擴展腳本停止/禁用,我也不在乎。但如果我能保持這個javascript運行,這將是很好的。
感謝
一個哈克的方式實現這一目標是通過定義一個對象與它所有的功能,然後從內存中刪除表示對象,像這樣。
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());
謝謝,但我想知道更多我將如何不重新定義一個JavaScript,就像我可以做一個Chrome擴展使用切換禁用JavaScript,或稍後等待。 – 1337Rooster
你的問題下的評論是你想要的。 – Darkrum
的可能的複製[谷歌瀏覽器擴展程序 - 如何開啓/關閉JavaScript啓用(http://stackoverflow.com/questions/4663359/google-chrome-extension-how-to-turn-javascript-開關) –