【问题标题】:How to package an unsigned Firefox WebExtension?如何打包未签名的 Firefox WebExtension?
【发布时间】:2016-10-17 08:20:39
【问题描述】:

我正在尝试开发一个扩展以在 mac 上的 FirefoxDeveloperEdition(不需要签名)上运行。

我遵循了“您的第一个 WebExtension”指南,使用“加载临时插件”时一切正常。但是当我尝试打包并使用“从文件安装插件”安装它时,它显示“无法安装此插件,因为它似乎已损坏”。

我压缩所有文件(borderify.js、manifest.json、icons,没有容器文件夹)并将后缀更改为 .xpi。这是正确的包装方式吗?一些答案提到应该有一个“install.rdf”?如果是这样,我该如何创建该文件?文档上似乎没有指南。

更新

我尝试过使用 mac 内置“压缩 n 个项目”xpi file,也尝试过使用web-ext buildxpi file。它们都以相同的错误警报告终。

更新 2

我在about:config 中设置了xpinstall.signatures.required false。

我的 Firefox 版本是:51.0a2 (2016-10-17) (64-bit)

有人可以加载未签名的 xpi 吗?是 Firefox 的错误吗?还是只有我?

【问题讨论】:

标签: firefox firefox-addon firefox-addon-webextensions


【解决方案1】:

如果你想安装 .xpi,你需要提供一个 id。 将此添加到您的 manifest.json 根目录

"applications": {
  "gecko": {
    "id": "borderify@mozilla.org",
  }
}

它的文档不是特别好,特别是this 页面告诉“当您在 Firefox 中安装它时,将为其分配一个随机生成的临时 ID。”。但是,这似乎只适用于通过about:debugging 安装 - xpi 安装仍然需要一个 ID。它可能是任何字符串,因为您已经在 DevEdition 上运行它并禁用了检查。

不用说,这在 Firefox 发行版上是行不通的。

P.S:Ctrl-Shift-J 将打开一个浏览器控制台,该控制台通常包含有关扩展安装错误的其他信息 - 下次可能会有用。

【讨论】:

  • 这是在哪里记录的?我找不到任何关于此的信息。我正在尝试编写一个仅更改一些 CSS 的小插件,但我无法让它工作,这太荒谬了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-17
相关资源
最近更新 更多