Soy nuevo en el desarrollo de complementos de Firefox.Cómo llamar a una función de script de contenido desde main.js en el complemento de Firefox
Necesito una forma de llamar a una función de contentscript desde main.js en el complemento de Firefox.
He insertado el contenido xyz.js en cada página web de apertura.
Quiero llamar a la función abc() presente en mi contentscript xyz.js desde mi main.js al hacer clic en un botón que tengo en la barra de herramientas de navegación.
A continuación se muestra mi código.
main.js
..
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('id', 'mybutton-id');
btn.setAttribute('type', 'button');
btn.setAttribute('class', 'toolbarbutton-1');
btn.setAttribute('image', data.url('icon_16.png'));
btn.setAttribute('orient', 'vertical');
btn.setAttribute('label', 'Test');
btn.addEventListener('click', function() {
tabs.activeTab.attach({
//
abc() //here i want to call the function present in my contentscript
//
});
}, false)
navBar.appendChild(btn);
}
..
xyz.js
..
function abc(){
//here is my code logic
}
..
vine a saber que el paso de mensajes es la forma de hacerlo, pero incapaz de implementar en Firefox.
Por favor, ayúdenme me he quedado atrapado.
Esta es una pregunta muy común sobre SO: ¿deberíamos comenzar a vincular a una respuesta canónica en lugar de volver a responder? – canuckistani
@canuckistani: ¿Hay una respuesta canónica? Mi respuesta aquí es simplemente un RTFM ampliado. La mayoría de las veces, sin embargo, son personas que simplemente no pueden concentrarse en el enfoque de mensajería del SDK. Sería todo para cerrar estas preguntas como duplicados, pero nunca hay una pregunta que sea lo suficientemente similar (probablemente una indicación de "demasiado localizado" en realidad). –
Revisé la historia reciente de estas preguntas y acepto, todas son lo suficientemente diferentes. Gracias por tener la paciencia para señalarlos en la dirección correcta. – canuckistani