更改工具栏按钮的图像

时间:2012-03-15 16:27:19

标签: javascript firefox-addon xul

如何使用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 个答案:

答案 0 :(得分:1)

一般来说,这种方法是正确的,但您使用的是相对URL。相对URL是相对于样式表解析的 - 因此,如果chrome://myextension/skin/style.css使用相对网址green-chrono.png,则浏览器将加载chrome://myextension/skin/green-chrono.png。如果您在这里没有外部样式表,则意味着将相对于XUL文档解析URL。我猜这个XUL代码位于浏览器窗口中 - 这意味着URL chrome://browser/content/green-chrono.png已加载,当然它不存在。解决方案:指定绝对URL而不是相对URL,例如:

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