jpm addon无法在Addon Manager

时间:2016-07-03 22:47:17

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

在package.json中,我尝试过使用和不使用resource://nameGUIDnameGUID,{ {1}}或nameGUID{}s{}s,相对和绝对,假设./(相对),/(根),/ data

我根本无法让插件管理器显示插件中的图标,即使在安装后也是如此。我甚至无法让jpm在@中创建em:iconURL。它根本就不存在。使用jpm在命令行上没有错误。控制台中没有错误,至少没有任何错误与我正在做的事情有关,至少没有明确解释它们与我正在做的任何事情有关。为了我试过的演示目的。不是一个实际的工作示例。对于我尝试的每种不同格式,我为所有大小的图标(16,32,48,64)添加了相同的格式URI。

install.rdf

package.json (demo snippet):

绝对没有任何MDN文章中描述的技术,也没有任何SO答案中的技术,甚至没有一次。在所有情况下,Firefox都会在启动时从网络中提取一个图标。

出于某种原因,XUL中的一项微不足道的任务(实际上是创建附加组件的最基本任务之一)似乎非常不一致,而且几乎不可能用jpm实现,每个人都会大约20岁之一30种不同的特定技术,仅适用于某些版本的工具或浏览器。

同样,我甚至无法在Action Button小部件中使用图标,但我会单独询问。似乎可以使用jpm run,但完全没有使用jpm xpi。

我在撰写本文时仅在几天前从... "id": "{GUID}", "name": "my_addon", "icons": { "48": "resource://@{GUID}/data/myaddon-48.png", "48": "resource://GUID/data/myaddon-48.png", "48": "resource://@my_addon/data/myaddon-48.png", "48": "resource://my_addon/data/myaddon-48.png", "64": "myaddon-64.png", "64": "/myaddon-64.png", "64": "./myaddon-64.png", "64": "data/myaddon-64.png", "64": "/data/myaddon-64.png", "64": "./data/myaddon-64.png", }, ... 使用了jpm 1.0.7

2 个答案:

答案 0 :(得分:1)

发现我的代码存在问题。

"icons": {
     ^ -- herein lies the problem

这应该是icon单数。用于指定文件位置的各种其他令人困惑的选项仍然存在,但似乎最简单和最干净(目前)的是相对路径。

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

然后jpm脚本(lib / rdf.js:68-69,92)将根据resource://中找到的值在install.rdf中构建一个正确的icon

          <em:iconURL>resource://GUID/data/icon-48.png</em:iconURL>
          <em:icon64URL>resource://GUID/data/icon-64.png</em:icon64URL>

答案 1 :(得分:0)

不要将package.json用于Addon图标。 在package.json文件附近放置icon.png和icon64.png文件 File icon.png必须具有48x48尺寸,icon64.png必须具有64x64尺寸。