如何使用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文件位于同一目录中。
感谢您的帮助
答案 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)';