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

标签 firefox firefox-addon firefox-addon-webextensions

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"]}
);

这是 list :

{
    "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 .

关于firefox - webRequest 目标中是否可以有多个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44651750/

相关文章:

JavaScript 无法向我的服务器发送 GET 请求

javascript - 如何阻止特定选项卡上的 HTTP 请求?

javascript - 使用 Firefox 附加组件 SDK 打开后台窗口

css - 在 xul 中设置菜单列表的样式

firefox - 从选项卡获取窗口对象

javascript - Firefox (57.0.1) 是否支持从 javascript 设置 Web 扩展中的命令快捷键?

css - 竖线 (|) 是有效的 CSS 还是特定于 Firefox 的?

python - 如何在使用 Selenium 和 Python 执行测试后关闭 Headless Firefox

html - CSS 不会在 Internet Explorer 中加载

javascript - API WebExtensions,在浏览器和内容脚本之间通信