有办法查询多个网址使用chrome.tabs

cczfrluj  于 2023-05-04  发布在  Go
关注(0)|答案(2)|浏览(160)

我正在写一个Chrome扩展,它需要在多个网站上工作。有没有办法我可以修改这个tables.query来检测亚马逊以外的其他网址?
如果有一种方法来检测像购物或视频相关网站的网站标签,那就更好了。我对chrome扩展编程非常陌生。

chrome.tabs.query({ url: 'https://www.amazon.com/*', }, (tabs) => {
      alert("site detected");
      tabs.forEach(tab => {
        chrome.tabs.remove(tab.id);
      });
    });
llew8vvj

llew8vvj1#

可以将多个URL作为数组传递。

chrome.tabs.query({ url: [ /* array of URL patterns */ ]}, tabs => {
    // ...
});

参见文档。它为queryInfourl属性声明了以下内容:
将选项卡与一个或多个URL模式进行匹配。片段标识符不匹配。如果扩展没有“tabs”权限,则忽略此属性。

j5fpnvbx

j5fpnvbx2#

以后再过滤掉。因为你将使用MV3,你可以这样做:

(await chrome.tabs.query({})).filter(t => 
  ['https://www.amazon.com/', 'https://www.example.com/']
  .some(m => t.url.startsWith(m))
).forEach(t => chrome.tabs.remove(t.id))

相关问题