изменить изображение панели инструментов - PullRequest
0 голосов
/ 15 марта 2012

Как динамически изменить изображение панели инструментов с помощью 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 Ответ

1 голос
/ 16 марта 2012

В целом подход правильный, но вы используете относительный 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 загружен и, конечно, не существует. Решение: укажите абсолютный URL вместо относительного, например ::1005*

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