更改 Firefox 插件安装图标

2024-05-18

我正在开发一个 Firefox 插件,使用附加 SDK https://addons.mozilla.org/en-US/developers/docs/sdk/1.0/dev-guide/welcome.html。我更改了 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 https://developer.mozilla.org/en/Installing_Extensions_and_Themes_From_Web_Pages开始安装,按照以下方式:

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>

请注意,它仍然必须是一个链接 - 如果用户禁用了 JavaScriptinstall()函数将不会被调用。用户只需点击链接即可开始安装。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 Firefox 插件安装图标 的相关文章

随机推荐

  • 如何从 Ruby 中的特定相对路径加载文件?

    我正在制作一颗供内部使用的宝石 在其中 我从另一个目录加载一些 YAML in
  • const 和 constexpr 数组之间的区别

    为什么有区别const and constexpr当与数组一起使用时 int const xs 1 2 3 constexpr int ys 1 2 3 int as xs 0 error int bs ys 0 fine 我希望两者都能x
  • Spring Boot - 使用 JWT、OAuth 以及单独的资源和身份验证服务器

    我正在尝试构建一个使用 JWT 令牌和 OAuth2 协议的 Spring 应用程序 我的身份验证服务器正在运行 感谢本教程 https medium com nydiarra secure a spring boot rest api w
  • 如何使用 then() 将 Fetch 响应的 JSON 正文传递给 Throw Error()?

    EDIT 你误会了 考虑这个伪代码 这本质上是我想做的 但这样写是行不通的 一旦您使用 Fetch 收到 Laravel 422 响应 response不包含实际的 JSON 数据 你必须使用response gt response jso
  • 创建 Rally 测试文件夹时出现 .Net Rally.RestApi 错误“未授权执行操作:无效密钥”

    我有一个 C 应用程序 使用 NET 的 Rally Rest API 2 0 1 0 版 应用程序将成功查询 Rally 数据 但当我尝试创建对象时 返回错误 指示密钥无效 此问题从今天开始 并且该应用程序的多个用户都会出现此问题 我使用
  • 为什么 instanceof 不能与 JPanel 和 JComponent 一起使用?

    我觉得我在这里错过了一些非常明显的东西 对于 Java 大师来说是很容易实现的目标 我的代码如下所示 private static void myFunc JComponent c if c instanceof JPanel stuff
  • Java 货币库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么条件变量不可 MoveAssignable

    为什么是一个condition variable不可移动构造 根据http en cppreference com w cpp thread condition variable http en cppreference com w cpp
  • 从父应用程序重新打开 Rails 3 引擎类

    就目前而言 您无法重新打开引擎中包含的引擎类 app只需在父应用程序的目录中添加相同的类即可 app目录 例如 my engine app controllers users controller rb my app app control
  • Laravel 5.4 升级 - 违反完整性约束 - 列不能为空

    奇怪的是 所有这些都在 5 2 中工作 但我不知道可以改变什么来实现这一点 下面是错误和正在插入的数组 SQLSTATE 23000 Integrity constraint violation 1048 Column gender can
  • R 中按时间划分的平均值

    我每秒测量一次化合物浓度 我想求 30 秒和 60 秒的平均值 我一直在阅读这里的帖子 我尝试过lubridate and dplyr 但没有运气 我正在努力完成这项工作 但我一直没能做到 我正在从 SAS 过渡到 R 所以请耐心等待 这是
  • 如何检查 FTP 目录是否存在

    寻找通过 FTP 检查给定目录的最佳方法 目前我有以下代码 private bool FtpDirectoryExists string directory string username string password try var r
  • 端点按资源 swagger 注释分组?

    我正在使用 Spring 进行 REST API 开发 我有一些 API 其中有很多端点 当我打开 swagger ui 时 它看起来很拥挤 我刚刚读过this https swagger io docs specification gro
  • 用于字数计算的 Swift String 中的字数

    我想做一个程序来找出字符串中有多少个单词 用空格 逗号或其他字符分隔 然后把总数加起来 我正在制作一个平均计算器 所以我想要数据总数 然后将所有单词相加 update Xcode 10 2 x Swift 5 或更高版本 使用基础方法enu
  • Bluemix 负载均衡器算法

    使用什么算法来平衡 Bluemix 上运行的多个实例之间的 HTTP 负载 看来我可以使用自动伸缩服务来水平扩展 想知道平衡负载时使用什么算法 Cloud Foundry 使用循环负载平衡在应用程序的运行实例之间分配请求
  • 插入具有多个值的外键

    我想知道 是否有可能创建一个表 其中我有一个接受外键但同一行可能有多个值的表 例如 Employee id name skillid Skill Skillid skillname 这里 Employee 的一个例子可以是 Employee
  • 为什么 C# 4.0 中的可选参数需要编译时常量?

    还有一种方法可以使用可选方法参数的运行时值吗 可选参数必须是常量 因为它们是作为属性值写出的 因此 它们继承了属性值所具有的所有限制 无法直接对运行时值进行编码 但是您可以接近以下模式 public void MyApi SomeType
  • Grails transactionManager 运行时出现异常

    当编译一个grails v2 3 3项目运行项目时出现以下错误Netbeans 7 4 Loading Grails 2 3 3 Configuring classpath Configuring classpath Environment
  • R 将多个值与向量进行比较并返回向量[重复]

    这个问题在这里已经有答案了 我有一个向量 A 对于 A 的每个元素 我想检查它是否等于第二个向量 Targets 中的任何元素 我想要一个逻辑值向量 其长度为 A 作为返回 也提到了同样的问题here http r 789695 n4 na
  • 更改 Firefox 插件安装图标

    我正在开发一个 Firefox 插件 使用附加 SDK https addons mozilla org en US developers docs sdk 1 0 dev guide welcome html 我更改了 package j