Firefox 附加组件:如何在 Firefox 中永久安装我自己的本地附加组件(扩展)?

Roc*_*uts 9 firefox google-chrome manifest firefox-addon browser-addons

我有自己的浏览器扩展和一些个人网站定制。在 Chrome 中工作正常,但在 Firefox 中不起作用。

与 Chrome 不同,Firefox 似乎无法安装解压缩的扩展程序或附加组件。只有在调试模式下我才能做到Load Temporary Add-on,选择带有我的扩展名的文件夹,并且工作正常。除了那只是暂时的。

当我通过将文件放在 .zip 中(不在子目录或任何内容中,存档只是直接包含文件)来打包扩展并将其重命名为 .xpi,然后选择Install Add-on from file并选择我的 .xpi,它说:

无法安装从该站点下载的加载项,因为它似乎已损坏。

在进行故障排除时,我做了一个最小的虚拟扩展,它什么都不做,只包含一个manifest.jsondummy.js文件。然后7z a -tzip test.xpi在该目录中使用命令行将其打包,这将创建我的名为test.xpi包含这两个文件的zip文件。在 Firefox 中加载该扩展程序会出现上述错误。

供您参考,这里是我的 manifest.json:

{
  "manifest_version": 2,
  "name": "Test Extension",
  "version": "1.0",
  "description": "Dummy Text Extension",
  "content_scripts": [
    {
      "matches": [ "*://*/" ],
      "js": ["dummy.js"]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

dummy.js 的内容是:

// this file is intentionally left blank
Run Code Online (Sandbox Code Playgroud)

再次:在 Chrome 中工作正常,在调试模式下作为临时加载项加载时在 Firefox 中工作正常(即通过加载文件,在打开的对话框中我选择 manifest.json 文件)。但是加载 .xpi 以永久安装此扩展会导致“似乎已损坏”错误。

仅供参考:我在 macOS 10.15.5 上使用最新版本的 Chrome 和 Firefox。

出于测试目的,这里是我创建的确切test.xpi文件,但是按照上面的描述手动打包它会得到相同的结果。

San*_*osh 10

您是否尝试过 web-ext 工具并签署您的附加组件?您可以使用 Web-ext CLI 工具在 Firefox 上进行签名和安装。


luk*_*acs 5

前几天遇到了完全相同的问题..

要永久安装我的个人 xpi(在 Firefox for Linux 77.0.1 下):

例如:

"browser_specific_settings": {
  "gecko": {
    "id": "blahblah@blah"
  }
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

  • 与此同时,当用户更改该设置时,Firefox 似乎会默默地忽略。但它仍然可以在 Firefox Developer 中使用,请参阅[此处](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox#w_what-are-my-options-if-我想使用未签名的附加高级用户)。 (6认同)