Firefox add-on: значок расширения не отображается
Я работаю над разработкой надстройки Firefox с помощью Add-on SDK
. Мое расширение отлично работает при использовании SDK, но когда я создаю файл .xpi
, чтобы добавить его вручную в браузер, он не отображает значок расширения.
Я попытался изменить путь значка в файле package.json
, но все же он не показывал значок.
package.json файл:
{...
"icon" : "Phone-icon48.png",
"icon64" : "Phone-icon64.png",
...}
Панель виджета, используемая для отображения значка:
WidgetPackage.Widget({
label: "Phone Dial",
id: "phone_dial",
contentURL: data.url("images/Phone-icon19.png"),
panel: panel_name
});
Может ли кто-нибудь помочь мне решить проблему?
Спасибо.
Ответы
Ответ 1
Это может быть постоянная ошибка. Этот поток сообщает о подобной проблеме.
Ah - вот решение.
Вы помещаете свои значки в папку с именем data
в корневой каталог вашего аддона и вызываете их as if
, они были в корневом каталоге.
{...
icon: { "16": "./icon-16.png", "32":"./icon-32.png", "64": "./icon-64.png" },
...}
Когда я это сделал, значки появляются на панелях инструментов. Это не очень понятно, но если вы соедините вещи, вы можете сделать это здесь.
Ответ 2
Согласно Addon SDK docs:
Относительный путь от корня надстройки к PNG файлу, содержащему значок для надстройки. По умолчанию "icon.png".
Итак, ваш пакет package.json должен выглядеть так:
{...
"icon" : "data/images/Phone-icon48.png",
"icon64" : "data/images/Phone-icon64.png",
...}
Ответ 3
По-видимому, связанная с этим проблема была закрыта раньше, но это происходит со мной сегодня
Обходной путь с jpm 1.1.4 и Firefox 48/50:
- Назовите значок
icon.png
и поместите его в корневой каталог addon.
- Запись no
"icon": ...
в package.json(таким образом, нет <em:icon>
в install.rdf)