Curso: Creación de extensiones para Firefox: 1. Introducción
Creación de extensiones para Firefox
Prólogo
1. Introducción
En este primer capítulo, describiré los elementos con los que vamos a trabajar a la hora de crear una extensión para Firefox.
1.1. ¿Qué es Firefox?
¡Vaya pregunta! Dirán algunos... Ya sabemos todos que Firefox es un navegador web, el mejor navegador web, ¿verdad?
Teniendo claro ese primer concepto, hay que conocer un poquito más qué es Firefox. Firefox se compone de varios módulos o componentes:
- Gecko: El principal, y se podría decir que el corazón de Firefox. Es el motor que se encarga de transformar el código HTML/XML/CSS en la representación visual que vemos en el navegador. Dentro de Firefox, visualmente hablando, sería la parte del navegador donde se muestra una web.
- SpiderMonkey: Es la máquina virtual de JavaScript de Firefox. SpiderMonkey fue el primer motor JavaScript desarrollado, mantenido actualmente por Mozilla, e implementado en multitud de aplicaciones, como Firefox, o Yahoo Widgets. Es parte de Gecko.
- XULRunner: Es un entorno de ejecución de aplicaciones XUL. Todo lo que ves en Firefox, es una aplicación XUL, una serie de documentos XUL. Un documento XUL define elementos como la ventana principal, una ventana de diálogo, o controles como botones, etiquetas, menús, pestañas, barras de estado, etc.
1.2. XUL Overlay
XUL Overlay es un método para solapar un documento XUL a otro. Es decir, dado un documento XUL, que define la barra de estado, se puede crear un XUL Overlay, para añadir más controles a esa barra de estado, para modificar los que hay, o para eliminarlos.
Dado que el navegador Firefox es una aplicación XUL, es posible modificar su apariencia y comportamiento creando documentos XUL Overlay.
1.3. ¿Qué es una extensión para Firefox?
Un extensión para Firefox, es sencillamente la modificación de la aplicación XUL del navegador Firefox, mediante XUL Overlay (concretamente el browser.xul de Firefox, que veremos más adelante).
Además de los documentos XUL, una extensión puede contener código Javascript, imágenes, vídeos, hojas de estilo, documentos XML, etc. E incluso es posible crear componentes (XPCOM) escritos en C, con los que poder interactuar en Javascript (a través de XPConnect).
Si bien este manual no tiene intención de entrar en detalle en el lenguaje XUL, le dedicaré un capítulo más adelante. Para conocer más a fondo XUL, puedes consultar los siguientes enlaces:
La extensión en sí, es un fichero con extensión XPI, que no es otra cosa que un archivo ZIP conteniendo el fichero RDF de instalación (install.rdf), un fichero que define el árbol de directorios de la extensión y los overlays que haremos (chrome.manifest), y el contenido de nuestra extensión (documentos XUL, hojas de estilo, imágenes, javascript, etc.).
En el siguiente capítulo crearemos nuestro propio entorno de desarrollo de extensiones (Firefox Extensions IDE, FEIDE, para abreviar). Y una vez lo tengamos preparado, construiremos una extensión de ejemplo con la que poder empezar a jugar.
Se escapa a la intención de este curso el explicar Javascript, pero será necesario tener altos conocimientos para continuar con el manual. Por lo que, si de hecho no conoces Javascript, ahora es un buen momento para aprenderlo, antes de continuar.

Bueno lo dicho, muy buena iniciativa y ya tienes un nuevo lector.
Un saludo.
Lo digo porque creo que trae bastantes cambios.
¿Crees que es posible crear una extension para FF que elimine la ventana de confirmación de impresión? (o sea que no haya que confirmar con la función JS window.print)
Seria para un uso interno claro, no creo que a nadie le intereseria tener su impresora abierta a cualquier pagina :)
Saludos
david
Y que me llena de esperanza ademas. :)
Gracias Javier, voy a seguir tu consejo, o sea buscar una extension relativa a la impresion y destriparla.
Saludos