如何匹配内容脚本(firefox)中的所有域名扩展?

Bri*_*iro 6 javascript firefox firefox-addon google-chrome-extension content-script

我需要匹配我正在编写的简单 Firefox 扩展的所有域扩展。例如,我需要运行扩展:

我不希望扩展程序在“示例网站”以外的任何内容上运行,例如,

这在某种程度上很重要,这样我就不需要为我的扩展程序获得访问所有网站上的数据的权限。

笔记:

小智 6

您必须指定要匹配的所有单独域名

"matches": [
   "https://example.com/*",
   "https://example.org/*",
   "https://example.net/*"
]
Run Code Online (Sandbox Code Playgroud)

重要提示:不要忘记/*最后的路径,没有它就无法工作。

不幸的是,不可能对所有顶级域(例如https://example.*/*)进行模式匹配,因为 Firefox 明确不允许此类匹配,如无效匹配模式中提到的

这是因为域名的层次结构(从右到左)

  • *.example.com属于*.com
  • www.example.com属于*.example.com

您能得到的最接近的是https://*/*. 声明性地提及这一点以处理所有主机,但以编程方式过滤掉您需要的主机。我确实看到您不想获得所有网站的许可,但没有其他办法。