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

txu3uszq  于 2023-04-03  发布在  Go
关注(0)|答案(3)|浏览(194)

我有自己的浏览器扩展程序,可以自定义一些个人网站。在Chrome中运行良好,但在Firefox中不起作用。
与Chrome不同,Firefox似乎不能安装未打包的扩展或附加组件。只有在调试模式下,我才能执行Load Temporary Add-on,选择包含我的扩展的文件夹,这一切都正常。除了这只是临时的。
当我将文件打包到.zip文件夹中(而不是在子目录或其他文件夹中,归档文件直接包含文件)并将其重命名为.xpi,然后选择Install Add-on from file并选择my .xpi时,它说:
无法安装从此站点下载的加载项,因为它似乎已损坏。
在故障排除时,我做了一个最小的虚拟扩展,它不做任何事情,只包含一个manifest.jsondummy.js文件。然后在该目录下使用7z a -tzip test.xpi从命令行打包,这将创建包含这两个文件的zip文件,名为test.xpi。在Firefox中加载该扩展给予上面的错误。
这里是我的manifest.json:

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

dummy.js的内容是:

// this file is intentionally left blank

同样:在Chrome中运行良好,在Firefox中以调试模式作为临时加载项加载时运行良好(即通过加载文件,在打开的对话框中我选择manifest.json文件)。但是加载.xpi以永久安装此扩展会导致“似乎已损坏”错误。
仅供参考:我在macOS 10.15.5上使用最新版本的Chrome和Firefox。
出于测试的目的,这里是我创建的确切的test.xpi文件,但是如上所述手动打包它将给予相同的结果。

ej83mcc0

ej83mcc01#

前几天也遇到了同样的问题。
要永久安装我的个人xpi(在Firefox for Linux 77.0.1下):

例如:

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

希望这有帮助!

w41d8nur

w41d8nur2#

您是否尝试了web-ext工具并签署了您的加载项?您可以使用Web-ext CLI工具在Firefox上签署并安装。

lo8azlld

lo8azlld3#

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

相关问题