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.json和dummy.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 上进行签名和安装。
web-ext sign,这将为您的插件签名以进行安装前几天遇到了完全相同的问题..
要永久安装我的个人 xpi(在 Firefox for Linux 77.0.1 下):
必须禁用扩展签名 about:config,xpinstall.signatures.required = false(不幸的是这将需要保留,因为签名似乎在每次浏览器启动时都经过验证)
向清单中的browser_specific_settings部分添加显式 ID
例如:
"browser_specific_settings": {
"gecko": {
"id": "blahblah@blah"
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
7604 次 |
| 最近记录: |