2012-03-15 128 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)';