Firefox插件:扩展图标未显示

时间:2013-10-15 16:36:05

标签: firefox firefox-addon firefox-addon-sdk

我正在使用Add-on SDK开发Firefox插件。我的扩展程序在使用SDK时工作正常,但是当我创建.xpi文件以手动将其添加到浏览器时,它不会显示扩展程序图标。

我尝试更改package.json文件中的图标路径,但仍然没有显示图标。

package.json文件:

{...
  "icon"        : "Phone-icon48.png",
  "icon64"      : "Phone-icon64.png",
...}

用于显示图标的窗口小部件面板:

WidgetPackage.Widget({
  label: "Phone Dial",
  id: "phone_dial",
  contentURL: data.url("images/Phone-icon19.png"),
  panel: panel_name
});

有人可以帮我解决这个问题吗?

谢谢。

3 个答案:

答案 0 :(得分:3)

This may be a persistent bugThis thread reports a similar problem

啊 - 这是解决方案。 您将图标放在插件目录根目录中名为data的文件夹中,并将它们称为as if,它们是root用户。

{...
    icon: { "16": "./icon-16.png", "32":"./icon-32.png", "64": "./icon-64.png" },
...}

当我这样做时,图标会显示在工具栏中。它不是很清楚,但如果你把事情拼凑起来,you might deduce that from here

答案 1 :(得分:2)

根据Addon SDK docs

  

从加载项的根目录到包含加载项图标的PNG文件的相对路径。默认为“icon.png”。

所以你的package.json应该是这样的:

{...
  "icon"        : "data/images/Phone-icon48.png",
  "icon64"      : "data/images/Phone-icon64.png",
...}

答案 2 :(得分:0)

A seemingly related issue早些时候关闭了,但今天发生在我身上

使用jpm 1.1.4和Firefox 48/50的解决方法:

  • 将图标命名为icon.png,并将其放在插件的根目录中。
  • 在package.json中写入 no "icon": ...条目(因此install.rdf中没有<em:icon>