2012-03-15 174 views
0

如何動態更改JavaScript按鈕的圖像與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> 

但它不工作,當我點擊該按鈕,圖像消失。

圖像和xul文件位於相同的目錄中。

感謝您的幫助

+1

基本上,您的代碼適用於我,但您爲一個命令添加了2個圖像。請檢查此鏈接https://developer.mozilla.org/en/Creating_toolbar_buttons – linguini 2012-03-15 17:49:53

回答

1

一般的做法是正確的,但您使用的是相對URL。相對URL將相對於樣式表進行解析 - 因此,如果chrome://myextension/skin/style.css使用相對URL green-chrono.png,則瀏覽器將加載chrome://myextension/skin/green-chrono.png。如果您在此處沒有外部樣式表,但意味着URL將相對於XUL文檔進行解析。我猜這個XUL代碼位於瀏覽器窗口中 - 這意味着URL被加載並且當前不存在。解決方案:指定絕對URL而不是相對值,例如:

this.style.listStyleImage = 'url(chrome://myextension/skin/green-chrono.png)';