2010-09-11 25 views
7

Estoy tratando de construir un complemento de Firefox & Quiero agregar imagen/icono en el menú contextual, por ejemplo, firebug tenía un ícono en el menú contextual del botón derecho,addon de firefox: agregar icono al menú contextual

enter image description here

lo que quiero hacer algo similar, mi complemento también se compone de elementos de menú

estructura de mi complemento en el menú contextual:

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

¿Cómo puedo hacerlo?

Respuesta

6

Debe configurar el image attribute, dele el elemento class menu-iconic y almacene la imagen para que pueda acceder a ella.

XUL:

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

JavaScript:

También puede establecer o cambiar la imagen de forma dinámica (obtener una referencia al primer elemento):

menu.setAttribute('image', 'chrome://addon/skin/image.png'); 
+0

Gracias, funcionó :), luchando por esto durante los últimos 2 horas, finalmente class = "menu-icónica" '' hizo mi trabajo que hacer. pero una pregunta, ¿cómo se vuelve icónico al agregar un atributo 'clase'? –

+0

Bueno, supongo que Firefox usa algo de CSS para mostrar la imagen y tal vez también alinear el texto correctamente. Al final, la interfaz XUL también está diseñada con CSS. –

0

se puede añadir un contexto menú utilizando la nueva imagen del SDK de Complementos de Mozilla con la propiedad de imagen

en opciones opcionales:

Sólo tiene que añadir el atributo de imágenes como esta imagen

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

: el icono del elemento, una URL cadena. La URL puede ser remota, una referencia a una imagen en el directorio de datos del complemento o un URI de datos.

Mozilla context menu help page for Addon SDK

+0

Esta pregunta tiene explícitamente la etiqueta XUL y no tiene la etiqueta firefox-addon-sdk. Si bien no es * incorrecto * proporcionar una respuesta aquí que sea para el Add-On SDK, la redacción de su primer párrafo implica que hay algo mal con el uso de XUL en este momento. Ese no es el caso. Todavía no ha sido desaprobado. – Makyen

+0

La única declaración que se ha hecho es que la desaprobación puede suceder en algún momento en el futuro. "[No tenemos un cronograma específico para la desaprobación, pero lo más probable es que tenga lugar dentro de 12 a 18 meses a partir de ahora.] (Https://blog.mozilla.org/addons/2015/08/21/the- future-of-developing-firefox-add-ons /) "Siendo 2015-08-21 en esa declaración. – Makyen

+0

No pasaría tiempo desarrollando algo que ya no está documentado y se depreciará en ~ 1 año, pero cada uno en su propio – ejectamenta

Cuestiones relacionadas