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



我有自己的浏览器扩展程序,其中包含一些个人网站自定义。在Chrome中工作正常,但在Firefox中不起作用。

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

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

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

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

供您参考,这是我的清单.json:

{
"manifest_version": 2,
"name": "Test Extension",
"version": "1.0",
"description": "Dummy Text Extension",
"content_scripts": [
{
"matches": [ "*://*/" ],
"js": ["dummy.js"]
}
]
}

而假人.js的内容是:

// this file is intentionally left blank

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

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

出于测试目的,这是我创建的确切test.xpi文件,但是如上所述手动打包它将给出相同的结果。

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

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

  • 不得不禁用扩展签名about:configxpinstall.signatures.required = false(不幸的是,这将需要保留,因为签名似乎在每次浏览器启动时都经过验证(

  • 将显式 ID 添加到清单browser_specific_settings部分

例如:

"browser_specific_settings": {
"gecko": {
"id": "blahblah@blah"
}
}

希望这有帮助!

您是否尝试过 web-ext 工具并为您的附加组件签名?您可以使用 Web-ext CLI 工具在火狐浏览器上签名并安装。

  • 从这里安装网络扩展工具 -> https://github.com/mozilla/web-ext
  • 运行web-ext sign,这将签署您的插件以进行安装

可以将插件上传到Mozilla开发人员中心,然后他们正式签名。必须从插件文件夹运行web-ext build,然后将zip上传到Hub。有一个自动检查,对我来说在~2分钟内完成,然后我可以下载签名的.xpi文件。

相关内容

  • 没有找到相关文章

最新更新