chrome.webRequest.onBeforeRequest превращается в функцию и обратный вызов - PullRequest
0 голосов
/ 23 сентября 2018

Здравствуйте, я новичок в разработке расширений Chrome.

Итак, у меня есть этот фрагмент кода

chrome.webRequest.onBeforeRequest.addListener(function(details) {
        return {cancel: true};
    },
    {urls: ["https://www.google.com/*", "http://www.dictionary.com/*"]},
    ["blocking"]);

Как мне преобразовать его в функцию (которую я назову blockurl), которую я могу просто вызвать?Пока у меня есть это

function blockurl(details) {
            return {cancel: true}
        {urls: ["https://www.google.com/*", "http://www.dictionary.com/*"]},
        ["blocking"]};
chrome.onBeforeRequest.addListener(blockurl);

Но, похоже, это не работает.Любая помощь будет оценена!

1 Ответ

0 голосов
/ 24 сентября 2018

Согласно документации , chrome.webRequest.onBeforeRequest.addListener принимает до 3 аргументов.Вы не можете сжать 3 аргумента в одну функцию.Например, вы можете использовать оператор распространения Javascript следующим образом:

var blockurl = [
    function(details) { return {cancel:true} },
    {urls: ["https://www.google.com/*", "http://www.dictionary.com/*"]},
    ["blocking"]
];

chrome.webRequest.onBeforeRequest.addListener(...blockurl);

Но это просто распространяет 3 элемента массива blockurl в аргументы функции addListener.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...