аддон firefox: добавление иконки в контекстное меню - PullRequest
7 голосов
/ 11 сентября 2010

Я пытаюсь создать аддон для Firefox, и я хочу добавить изображение / значок в контекстное меню, вызываемое правой кнопкой мыши, например, у firebug есть значок в контекстном меню правой кнопкой мыши,

enter image description here

Я хочу сделать что-то подобное, мой аддон также состоит из пунктов меню

структура моего аддона в контекстном меню :

[icon] [menu] 
            [menu item 1]
            [menu item 2]
            [menu item 3]
            [menu item 4]

Как я могу это сделать?

Ответы [ 2 ]

6 голосов
/ 11 сентября 2010

Необходимо установить атрибут image , присвоить элементу класс menu-iconic и сохранить изображение, чтобы вы могли к нему обращаться.

XUL:

<menu id="someid" label='your label'
          class="menu-iconic"
          image='chrome://addon/skin/image.png'>
...
</menu>

JavaScript:

Вы также можете динамически устанавливать или изменять изображение (сначала получите ссылку на элемент):

menu.setAttribute('image', 'chrome://addon/skin/image.png');
0 голосов
/ 25 февраля 2016

Вы можете добавить контекстное меню, используя новый образ SDK для надстроек Mozilla, используя свойство image

под Дополнительные опции :

просто добавьте атрибут изображения вот так

 var menuItem = contextMenu.Menu({
    include: "*.stackoverflow.com",
    label: "do something",
    image: "data:image/png;base64,iVBORw0KGgoAA ...",
    context: contextMenu.SelectorContext('div.someclass'),
    contentScriptFile: data.url("cs.js"),
    items: [
        contextMenu.Item({ label: "Item 1", data: "item1" }),
        contextMenu.Item({ label: "Item 2", data: "item2" }),
        contextMenu.Item({ label: "Item 3", data: "item3" })
      ]
});

изображение: значок элемента, строковый URL. URL может быть удаленным, ссылкой на изображение в каталоге данных надстройки или URI данных.

Страница справки контекстного меню Mozilla для Addon SDK

...