【问题标题】:How to match all domain extensions in content script (firefox)?如何匹配内容脚本(firefox)中的所有域扩展?
【发布时间】:2020-12-29 17:56:37
【问题描述】:

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

我不希望扩展程序在任何不是“示例网站”的东西上运行,例如,

这在一定程度上很重要,因此我不需要获得权限来访问我的扩展程序的所有网站上的数据。

注意事项:

【问题讨论】:

    标签: javascript firefox google-chrome-extension firefox-addon content-script


    【解决方案1】:

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

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

    重要提示:不要忘记末尾的/* 路径,否则它将无法工作。

    不幸的是,不可能对所有顶级域(如https://example.*/*)进行模式匹配,因为 Firefox 明确禁止 Invalid match patterns 中提到的此类匹配

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

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

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

    【讨论】:

      猜你喜欢
      • 2022-12-31
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 2013-09-07
      • 2023-03-21
      • 2015-06-23
      • 2022-01-20
      相关资源
      最近更新 更多