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

5

我正在编写一个简单的Firefox扩展,需要匹配所有域名后缀。例如,我需要在以下网站上运行扩展程序:

但我不希望扩展运行在除了“example”网站之外的任何网站上,例如:

这很重要,部分原因是为了使我不需要获得访问所有网站数据的权限。

注:

1个回答

5

您需要指定要匹配的所有单独域名。

"matches": [
   "https://example.com/*",
   "https://example.org/*",
   "https://example.net/*"
]

重要提示:不要忘记在结尾处添加/*路径,否则它将无法正常工作。

遗憾的是,无法匹配所有顶级域名的模式(例如https://example.*/*),因为Firefox明确禁止这种匹配,如非法匹配模式中所述。

这是由于域名从右到左的层次结构所致:

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

你能做到的最接近的方法是使用https://*/*。在声明中提到处理所有主机,但以编程方式过滤出您需要的主机。我知道您不想获得所有网站的权限,但没有其他方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接