0

を表示するために得ることができない、私は{}sせず、{}sで、resource://nameGUIDnameGUID両方、nameGUIDもないととせずに試してみました(相対)、/(ルート)、/ dataと仮定して、相対および絶対値は@です。JPMのアドオンは、アイコンがアドオンマネージャでpackage.jsonで

インストール後も、アドオンマネージャからアドオンのアイコンを表示することはできません。私はinstall.rdfem:iconURLを作成するためにjpmを取得することさえできません。それは単にそこにさえありません。 jpmを使用してコマンドラインにエラーはありません。コンソールにエラーはありません。少なくとも、私がやっていることに関係するものはありません。私が試したことのデモンストレーションの目的のために。実際の実際の例ではありません。私が試したさまざまなフォーマットのそれぞれについて、すべてのサイズアイコン(16,32,48,64)に同じフォーマットURIを付けました。

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(そして実際にはアドオンを作成する際の最も基本的なタスクの1つ)は、jpmで実現するにはほとんど矛盾し、ほとんど不可能であると思われます。特定のバージョンのツールのみで動作する-30の異なる特定のテクニック

同様に、アクションボタンウィジェットでもアイコンを表示することはできませんが、別途質問します。 jpm runで動作すると思われますが、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)はiconで見つかった値からinstall.rdfに適切resource://ラインを構築します。

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

すぐに質問に自分の答えを選ぶことができなかったか、本当に正しく答えるかどうかを待っていました。どちらの場合でも、私は答えを受け入れることを忘れていました。これはうまくいったようです。ドキュメントとの混乱。念押し有難う。 – user314159

0

Addonアイコンにpackage.jsonを使用しないでください。 package.jsonファイルの近くにicon.pngとicon64.pngファイルを置きます。 ファイルicon.pngには48x48のディメンションが必要です。icon64.pngには64x64ディメンションが必要です。

+0

ありがとう、簡単な答えです!これはうまくいっていると思われ、MDNのページ上のどこにも明らかに記載されていませんでした。アイコンが表示され、インターネットから引き出されていません。これはまさに私が期待していた動作です。しかし、私はルートの場所にアクセスすることができないので、他の場所で同じアイコンを使用し、 '/ data'の場所の中に冗長なコピーを持たなければならないので、厄介です。'install.rdf'で生成されたiconURLやicon64URLがないことも混乱しています。 jpmのソースを詳しく調べる必要があります。 – user314159

関連する問題