在 webRequest 目标中是否可以有多个 URL

Is it possible to have more than one URL in the webRequest target

是否可以在 webRequest 的 urls 参数中有多个目标。如何?

这是一个不起作用的例子,给我这个错误:

The webRequest.addListener filter doesn't overlap with host permissions.

****更新****:

这是示例代码main.js:

myArray=["yahoo.com", "google.co.uk"];
patterns=[];
for (var x=0; x<myArray.length; x++)
{
    var aURL="\"https://*."+myArray[x]+"/*\""
    patterns.push(aURL);
}//end for

console.log("the array: "+patterns);


function logURL(requestDetails)
{
    console.log("inside logURL");
    console.log("*******************************");
    console.log("Loading: " + requestDetails.url);
    console.log("*******************************");
}//end logUTL

browser.webRequest.onBeforeRequest.addListener(
  logURL,
  {urls: patterns,
   types: ["main_frame"]}
);

这是清单:

{
    "manifest_version": 2,
    "name": "test",
    "version": "1.0",
    "description": "",
    "background": {
    "scripts": ["main.js"]
    },

    "icons": {
    "64": "icons/myicon.png"
    },

    "permissions":[
    "<all_urls>",
    "activeTab",
    "tabs",
    "activeTab",
    "webRequest"
    ]
}

您必须为模式使用数组。

myArray=["yahoo.com", "google.co.uk"];
patterns=myArray.map(item=>`https://*.${item}/*`)

console.log("the array: "+patterns);

function logURL(requestDetails)
{
    console.log("inside logURL");
    console.log("*******************************");
    console.log("Loading: " + requestDetails.url);
    console.log("*******************************");
}//end logUTL

browser.webRequest.onBeforeRequest.addListener(
  logURL,
  {urls: patterns,
   types: ["main_frame","xmlhttprequest"]}
);

addListener的第二个参数是一个RequestFilter.

有什么理由要加双引号吗?

-var aURL="\"https://*." + myArray[x] + "/*\""
+var aURL="https://*." + myArray[x] + "/*"