在我的網絡擴展中,我將多個相同的監聽器添加到不同的標籤ID,這取決於用戶告訴擴展名所做的事情。
browser.webRequest.onBeforeRequest.addListener(mycallback, {urls: ["myurl"], tabId: varyingtabid},["blocking"]);
webRequest刪除附加到標籤IDI的監聽器
但是,當我需要清理的偵聽器選項卡,我不知道如何指定監聽器,文檔說的removeListener只需要一個參數,即回調。
browser.webRequest.onBeforeRequest.removeListener(mycallback); //does this remove every listener, what does this do when there are multiple listeners?
無論如何動態創建一個函數的不同函數引用,並使用該引用作爲偵聽器回調?我嘗試使用創建偵聽器時不起作用的對象。 – regularjoe
假設'foo()'是一個全局/持久函數,你可以簡單地使用一個包裝器:function(){return foo.apply(this,arguments); } – wOxxOm