Chrome扩展程序如何删除chrome.webRequest.onBeforeRequest上的侦听器

Sai*_*ine 2 javascript google-chrome event-handling google-chrome-extension

我正在尝试在Google chrome扩展程序中删除此侦听器以阻止URL,但我不知道如何!

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

Sai*_*ine 5

该问题的解决方案是创建一个命名函数而不是匿名函数

var myfunction= function (info) {
  //Instructions 
  return {cancel: true}; }; 
Run Code Online (Sandbox Code Playgroud)

并将其替换为代码中的变量:

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

如果我想删除该监听器,我使用:

chrome.webRequest.onBeforeRequest.removeListener(myfunction);
Run Code Online (Sandbox Code Playgroud)