2013-10-15 2 views
10

Я работаю над созданием надстройки Firefox с помощью Add-on SDK. Мое расширение отлично работает при использовании SDK, но когда я создаю файл .xpi, чтобы добавить его вручную в браузер, он не отображает значок расширения.Firefox add-on: значок расширения не отображается

Я попытался изменить путь значка в файле package.json, но все же он не показывал значок.

package.json файл:

{... 
    "icon"  : "Phone-icon48.png", 
    "icon64"  : "Phone-icon64.png", 
...} 

Widget панель используется для отображения значка:

WidgetPackage.Widget({ 
    label: "Phone Dial", 
    id: "phone_dial", 
    contentURL: data.url("images/Phone-icon19.png"), 
    panel: panel_name 
}); 

Может кто-нибудь помочь мне решить эту проблему?

Thank you.

+0

Не уверен, что вы имеете в виду - это значок отсутствует для виджета, в менеджере аддона, как? Для значка виджета, действительно ли файл существует в вашем дополнительном проекте в 'data/images/Phone-icon19.png' ??? – canuckistani

+0

Да, значок отсутствует для виджета, но он отсутствует только при добавлении расширения с использованием файла .xpi. когда я запускаю расширение, используя «запуск cfx», значок отображается. Изображение значка телефона существует в каталоге данных. –

+0

У меня такая же проблема. И значок отображается в диспетчере надстроек. –

ответ

2

По Addon SDK docs:

Относительный путь от корня дополнения к PNG-файла, содержащего значок для дополнения. По умолчанию «icon.png».

Так что ваш package.json должен выглядеть следующим образом:

{... 
    "icon"  : "data/images/Phone-icon48.png", 
    "icon64"  : "data/images/Phone-icon64.png", 
...} 
3

This may be a persistent bug. This thread reports a similar problem.

Ah - вот решение. Вы помещаете свои значки в папку с именем data в корень каталога вашего аддона и вызываете их as if, они были в корне.

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

Когда я это сделал, значки появляются на панелях инструментов. Это не очень понятно, но если вы объедините вещи, you might deduce that from here.

0

A seemingly related issue был закрыт раньше, но это происходит со мной сегодня

Обходной с JPM 1.1.4 и Firefox 48/50:

  • Имя значок icon.png и поместите его в корневой директории аддона.
  • Написать нет"icon": ... записи в package.json (таким образом, не <em:icon> в install.rdf)
Смежные вопросы