【发布时间】:2020-09-25 22:48:58
【问题描述】:
我有自己的浏览器扩展程序和一些个人网站定制。在 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"]
}
]
}
而dummy.js的内容是:
// this file is intentionally left blank
再次:在 Chrome 中运行良好,在 Firefox 中作为调试模式下的临时插件加载时运行良好(即通过加载文件,在打开的对话框中我选择 manifest.json 文件)。但加载 .xpi 以永久安装此扩展程序会导致“似乎已损坏”错误。
仅供参考:我在 macOS 10.15.5 上使用最新版本的 Chrome 和 Firefox。
出于测试目的,这里是我创建的确切的test.xpi 文件,但是按照上面描述的手动打包它会得到相同的结果。
【问题讨论】:
-
works fine in Firefox when loading as temporary add-on... 你的意思是它可以安装,但是这个插件什么也没做,所以你不能说它works fine。 -
@Deanie 显然我的意思是加载/安装工作正常。
标签: google-chrome firefox firefox-addon manifest browser-addons