2

Я пытаюсь удалить этот прослушиватель в расширении google chrome для блокировки URL-адресов, но я не знаю, как это сделать!Расширение Chrome Как удалить Listener на chrome.webRequest.onBeforeRequest

chrome.webRequest.onBeforeRequest.addListener(
       function(info) { 
       console.log("Chat intercepted: " + info.url); 
       return {cancel: true}; }, 
       {urls: ["https://sampleUrl/*"]}, 
       ["blocking"] 
    ); 
+0

Эффективно идентичны с хорошими ответами, но не действительной целью dup: [Как удалить анонимную функцию, связанную с addEventListener с объектом события как аргументом] (http://stackoverflow.com/q/40668396/3773011) – Makyen

ответ

4

Решение проблемы заключается в создании имени функции вместо анонимной функции

var myfunction= function (info) { 
    //Instructions 
    return {cancel: true}; }; 

и заменить его в качестве переменной в коде:

chrome.webRequest.onBeforeRequest.addListener(
       myfunction, 
       {urls: ["https://sampleUrl/*"]}, 
       ["blocking"] 
    ); 

если я хочу для удаления этого слушателя i:

chrome.webRequest.onBeforeRequest.removeListener(myfunction);