Así que he revisado la documentación del Add-on SDK varias veces y en ningún lugar puedo ver cómo crear barras de herramientas o modificar Los que existen. Tienen un tutorial sobre cómo crear íconos de barra de complementos, pero eso no es lo que quiero. ¿El Add-on SDK es compatible con esto todavía? Si lo hace, ¿alguien puede vincularme a un ejemplo/tutorial?Firefox: ¿Cómo puedo agregar/modificar barras de herramientas usando Add-on SDK (Jetpack)
Respuesta
Esto funciona para mí:
var data = require("self").data;
var {Cc, Ci} = require("chrome");
var mediator = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator);
exports.main = function(options, callbacks) {
addToolbarButton();
// other stuff
};
function addToolbarButton() {
var document = mediator.getMostRecentWindow("navigator:browser").document;
var navBar = document.getElementById("nav-bar");
if (!navBar) {
return;
}
var btn = document.createElement("toolbarbutton");
btn.setAttribute('type', 'button');
btn.setAttribute('class', 'toolbarbutton-1');
btn.setAttribute('image', data.url('img/icon16.png')); // path is relative to data folder
btn.setAttribute('orient', 'horizontal');
btn.setAttribute('label', 'My App');
btn.addEventListener('click', function() {
// use tabs.activeTab.attach() to execute scripts in the context of the browser tab
console.log('clicked');
}, false)
navBar.appendChild(btn);
}
¡Gracias, funcionó perfectamente! – Telanor
Para obtener una explicación más detallada y una función para eliminar el botón de la barra de herramientas, consulte [mi publicación en el blog] (http://kendsnyder.com/posts/firefox-extensions-add-button-to-nav-bar) – kendsnyder
Me acabo de dar cuenta, esta función solo se agregará para la ventana activa. Al abrir nuevas ventanas, el botón no estará allí. – dcolish
Este un elemento decorativo en la primera respuesta.
Si tiene las dificultades descritas por dcolish en su comentario a la respuesta de la parte superior añadir esto a main.js:
var tim = require("timers");
intervalId = tim.setInterval(timerFn,2000);
function timerFn() {
var win = mediator.getMostRecentWindow('navigator:browser');
if (win)
var document = win.document;
else
return;
var isBtn = document.getElementById('myappbutton-id');
if (!isBtn) addToolbarButton();
}
Es crudo, pero funciona.
EDIT: más fácil y limpio es:
var windows = require("windows").browserWindows;
windows.on('open', function(window) {
addToolbarButton();
});
en mi Mac Firefox 15 elimina automáticamente el icono cuando se cierra una ventana. Entonces window.on('close', ...)
no es necesario.
- 1. Firefox Jetpack Development Debugging
- 2. Firefox addon-sdk - escuche la navegación de la página
- 3. Firefox Addon SDK: formas de mostrar las opciones al usuario?
- 4. Pestaña Identificar que realizó una solicitud en Firefox Addon SDK
- 5. cómo utilizar su mensaje en función de "Solicitud" en firefox-addon-sdk
- 6. ¿Cómo volver a cargar un panel emergente de artilugios con firefox addon sdk?
- 7. Creando un nuevo complemento de Firefox: ¿XUL o Jetpack?
- 8. Cómo analizar una cadena XML en un complemento de Firefox usando Add-on SDK
- 9. Posicionamiento del panel con el SDK Add-on de Firefox
- 10. Cómo desinstalar IE Addon
- 11. obtener los elementos de documento HTML en Firefox Addon
- 12. addon de firefox: agregar icono al menú contextual
- 13. CKEditor - Sin barras de herramientas
- 14. Eliminando las preferencias de Firefox Addon cuando un usuario desinstala
- 15. add-ons de firefox sdk vs XUL
- 16. Cocoa NSWindow con 2 barras de herramientas
- 17. cómo generar códigos de barras usando java
- 18. Cómo desbloquear barras de herramientas en Eclipse 4.2 (Juno)
- 19. Cómo exportar/importar barras de herramientas en Visual Studio
- 20. Gráfico de barras usando achartengine
- 21. ¿Cómo puedo hacer barras de herramientas que se parecen a las de Keynote?
- 22. Node.js C++ Addon: Threading
- 23. jqplot información sobre herramientas en el gráfico de barras
- 24. ¿Puedo emular versiones anteriores de Firefox dentro de Firefox 4.0?
- 25. ¿Cómo puedo escapar de las barras diagonales inversas en JSON?
- 26. Ocultando las barras de herramientas de Adobe, barras de menú, barra de desplazamiento, etc.
- 27. Posicionamiento de barras de herramientas en Eclipse/RCP
- 28. ¿Ocultar todas las barras de herramientas de Visual Studio?
- 29. ¿Cómo usar Add-on SDK para agregar botones de la barra de herramientas? ¿Integrando XUL y Add-on SDK para complementos de Firefox?
- 30. Restablecer las barras de herramientas de VS 2008
¿quieres una barra de herramientas o un botón de la barra de herramientas? – erikvold
Lo que quiero hacer es agregar un botón a una barra de herramientas existente, pero no de la misma forma que lo haría yendo a Ver -> Barras de herramientas -> Personalizar ya que eso no me permite ubicarlo en esta barra de herramientas de la manera que quiero (barra de Google Lite). Entonces, sí, quiero un botón, pero un elemento estándar de la barra de herramientas de ese menú no será suficiente. – Telanor