firefox插件:在上下文菜单中添加图标

时间:2010-09-11 10:49:45

标签: javascript firefox firefox-addon xul

我正在尝试构建一个firefox插件&我想在右键单击内容菜单中添加图像/图标,例如,firebug在右键单击上下文菜单中有一个图标,

enter image description here

我想做类似的事情,我的插件也包含菜单项

我的插件在上下文菜单中的结构

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

我该怎么办?

2 个答案:

答案 0 :(得分:6)

您必须设置image attribute,为元素class 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');

答案 1 :(得分:0)

您可以使用图像属性

使用新的Mozilla附加组件SDK图像添加上下文菜单 可选选项

只需添加像这样的图像属性

 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" })
      ]
});

image:项目图标,字符串URL。 URL可以是远程的,对附加组件数据目录中的图像的引用,也可以是数据URI。

Mozilla context menu help page for Addon SDK