chrome.webRequest.onBeforeRequest转换为函数和回调

时间:2018-09-23 05:54:37

标签: google-chrome-extension

你好,我是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 :(得分:0)

根据documentationchrome.webRequest.onBeforeRequest.addListener最多接受3个参数。您不能将3个参数浓缩为一个函数。例如,您可以像这样使用Javascript spread operator

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

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

但这只是将blockurl的3个数组元素散布到addListener函数的参数中。