2012-03-15 19 views
0

javascriptを使用してツールバーボタンの画像を動的に変更する方法はありますか?ツールバーボタンの画像を変更する

私はこれを試してみてください。私はボタンをクリックしたときに

<toolbarbutton id="" oncommand="this.style.listStyleImage= 'url(green-chrono.png)';alert('boom');" label="Menu-button" type="menu-button" style="list-style-image: url(chrono.png);"> 
     <menupopup id="edit-popup1"> 
      <menuitem id="toto" label="Accéder à la pointeuse"/> 
      <menuitem id="recap" label="Accéder au récapitulatif des heures"/> 
     </menupopup> 
    </toolbarbutton> 

しかし、それは動作しません、画像が消えます。

imagesとxulファイルは同じディレクトリにあります。一般的なアプローチであなたの助け

+1

は基本的に、あなたのコードは、私の作品がありますが、一つのコマンドのための2枚の画像を追加しました。このリンクを確認してくださいhttps://developer.mozilla.org/ja/Creating_toolbar_buttons – linguini

答えて

1

ため

おかげで正しいですが、相対URLを使用しています。相対URLはスタイルシートに関連して解決されるため、chrome://myextension/skin/style.cssが相対URL green-chrono.pngを使用する場合、ブラウザはchrome://myextension/skin/green-chrono.pngをロードします。ここにある場合、外部スタイルシートはありませんが、URLがXULドキュメントに関連して解決されることを意味します。私はこのXULコードがブラウザのウィンドウにあると思う - つまり、URL chrome://browser/content/green-chrono.pngがロードされており、もちろん存在しないことを意味する。解決策:例えば、代わりに比べて1つの絶対URLを指定:

this.style.listStyleImage = 'url(chrome://myextension/skin/green-chrono.png)'; 
関連する問題