0

В package.json, я попытался с и без resource://, а name, а GUID, как name и GUID, ни name, ни GUID, С {}s, без {}s , с @, относительный и абсолютный, предполагая ./ (относительный),/(корень)/данные.JPM аддон не может получить значок для отображения в Addon Manager,

Я просто не могу заставить диспетчера аддона отображать значок из аддона даже после установки. Я даже не могу получить jpm для создания em:iconURL в install.rdf. Просто нет. В командной строке нет ошибок в jpm. В консоли нет ошибок, по крайней мере, ничто из того, что я делаю, по крайней мере, не ясно, что они относятся ко всему, что я делаю. Для демонстрационных целей того, что я пробовал. Не настоящий рабочий пример. Для каждого из разных форматов, которые я пытался, я добавляю одинаковый формат URI для всех значков размеров (16, 32, 48, 64).

package.json (demo snippet):

... 
"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", 
}, 
... 

Абсолютно ни один из методов, описанных в любой статье MDN, ни в какой-либо SO ответить, работали, даже не один раз. Во всех случаях Firefox запускает значок из сети при запуске.

По какой-то причине, что было тривиальной задачей в XUL (и, действительно, одной из основных задач создания надстройки), кажется невероятно непоследовательным и почти невозможным достичь с jpm, при этом каждый, клялся одним из примерно 20 -30 различных специальных методов, которые работают только для определенных версий инструмента или браузеров.

Аналогичным образом, я даже не могу получить значки для работы с виджетами Button Button, но я попрошу об этом отдельно. Казалось, что он работает со скоростью jpm, но не с jpm xpi.

Я использую jpm 1.0.7, вытащил из git master всего несколько дней назад с момента написания.

ответ

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> 
+0

Либо это не позволило мне сразу же подобрать свой ответ на мой вопрос, или я ждал, правильно ли я ответил на это. В любом случае я забыл принять ответ. Кажется, это сработало. Некоторая путаница с документацией. Спасибо за напоминание. – user314159

0

Не используйте package.json для значка Addon. Место icon.png и icon64.png файлы возле файла package.json Файл icon.png должен иметь размеры 48x48, а значок64.png должен иметь размеры 64x64.

+0

Благодарим за простой ответ! Кажется, что это сработало и не было зафиксировано нигде на страницах MDN, ни на других ответах на подобные вопросы. Значок отображается и не вытягивается из Интернета, и это именно то поведение, которое я ожидал. Однако это раздражает, потому что я использую одни и те же иконки в другом месте и, следовательно, должен иметь избыточные копии внутри местоположения '/ data', потому что я не могу получить к ним доступ в корневом каталоге.Также запутывается, что в 'install.rdf' нет iconURL или icon64URL. Мне нужно будет внимательно изучить источник jpm. – user314159

 Смежные вопросы

  • Нет связанных вопросов^_^