firefox-addon - 更改 Firefox 插件安装图标

标签 firefox-addon firefox-addon-sdk

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

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

此外,我将 icon-32.png 和 icon-64.png 放在目录 icons 中。运行前在我的包目录中 cfx xpi包目录里面。

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

我自托管 Firefox 附加组件。

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

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

如何更改安装图标?

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

最佳答案

安装对话框不从包中获取图标,它使用网页提供的信息。您的网页需要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()函数不会被调用。用户只需点击链接即可开始安装。

关于firefox-addon - 更改 Firefox 插件安装图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9207033/

相关文章:

xml - "collapse all"在firefox或chrome中一键所有节点

firefox-addon - 为什么 Mozilla Firefox 的扩展(附加组件)会自动删除?

javascript - 需要 ("sdk/window/utils").windows() 的私有(private)窗口

javascript - 引用错误: Worker is not defined in simple Firefox Extension

firefox-addon - Firefox 插件在自定义窗口中显示名称但没有图标

javascript - 您如何检测何时显示附加 SDK 面板?

javascript - 从 Firefox 附加 SDK 的上下文菜单中打开一个新选项卡

firefox - Chrome 和 Firefox 不会长期支持 NPAPI。我有什么选择?