更改Firefox插件安装图标

时间:2012-02-09 07:36:34

标签: firefox-addon firefox-addon-sdk

我正在使用Add-on SDK开发Firefox插件。我更改了我的package.json文件,以包含32x32图标和64x64图标的条目。

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

此外,我在程序包目录中的icons目录中放置了icon-32.png和icon-64.png,然后在程序包目录中运行cfx xpi

图标在Tools > Add-ons的插件管理器中正确显示,但安装对话框仍然使用拼图图标。

我自行托管Firefox插件。

起初,我认为可能是因为我还没有签署xpi文件,但我注意到还有许多其他附加组件没有签名但在安装对话框中仍然有正确的图标。

我还认为可能是因为图标不在xpi文件中的正确位置,或者附加SDK没有正确生成install.rdf,但是我解压缩了xpi和发现cfx已将图标放在根目录中并将其重命名为默认名称(icon.png和icon64.png),并省略了install.rdf中的文件名(将它们指向默认图标)。

如何更改安装图标?

只有在使用Firefox托管时才能更改安装图标?

1 个答案:

答案 0 :(得分:14)

安装对话框不会从包中获取图标,而是使用网页提供的信息。您的网页需要use InstallTrigger才能按以下方式开始安装:

function install(link)
{
  params = {};
  params[link.getAttribute("addonName")] = {
    URL: link.href,
    IconURL: link.getAttribute("iconURL")
  };
  InstallTrigger.install(params);
}

你的链接看起来像这样:

<a href="foo.xpi" addonName="Foo" iconURL="foo.png"
   onclick="install(this); return false;">
  Install
</a>

请注意,它仍然必须是一个链接 - 如果用户禁用了JavaScript,则不会调用install()函数。用户只需按照链接进行操作即可安装。