2013-10-15 8 views
10

Ich arbeite an der Entwicklung eines Firefox-Add-on mit der Add-on SDK. Meine Erweiterung funktioniert einwandfrei, wenn SDK verwendet wird, aber wenn ich die Datei .xpi anlege, um sie manuell dem Browser hinzuzufügen, wird das Erweiterungssymbol nicht angezeigt.Firefox-Add-on: Erweiterung Symbol nicht angezeigt

Ich habe versucht, den Symbolpfad in der package.json Datei zu ändern, aber es zeigte das Symbol nicht.

package.json Datei:

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

Widgetfenster verwendet Symbol anzuzeigen:

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

Kann mir jemand helfen, das Problem zu beheben?

Vielen Dank.

+0

Nicht sicher, was Sie meinen - ist das Symbol für das Widget fehlt, in dem Add-on-Manager, die beide? Gibt es die Datei für das Widget-Symbol in Ihrem Add-on-Projekt unter 'data/images/Phone-icon19.png'? – canuckistani

+0

Ja, das Symbol für das Widget fehlt, aber es fehlt nur, wenn die Erweiterung mit der .xpi-Datei hinzugefügt wird. Wenn ich die Erweiterung mit dem 'cfx run' ausführe, wird das Symbol angezeigt. Das Symbol des Telefonsymbols ist im Datenverzeichnis vorhanden. –

+0

Ich habe das gleiche Problem. Und das Symbol wird im Add-On-Manager angezeigt. –

Antwort

2

Nach Addon SDK docs:

Der relative Pfad von der Wurzel des Add-on zu einer PNG-Datei auf das Symbol für das Add-on enthält. Der Standardwert ist "icon.png".

So sollte Ihr package.json wie folgt aussehen:

{... 
    "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 - hier ist die Lösung. Sie platzieren Ihre Symbole in einem Ordner namens data im Stammverzeichnis Ihres Addons und nennen sie as if sie waren im root.

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

Wenn ich dies getan habe, dann erscheinen die Symbole in den Symbolleisten. Es ist nicht sehr klar, aber wenn Sie Dinge zusammensetzen, you might deduce that from here.

0

A seemingly related issue wurde früher geschlossen, doch kommt es mir heute

Eine Abhilfe mit jpm 1.1.4 und Firefox 48/50:

  • Nennen Sie das Symbol icon.png und legen Sie sie in root dir von Addon.
  • schreiben keinen"icon": ... Eintrag in package.json (also keine <em:icon> in install.rdf)
Verwandte Themen