Como crear un extensión para Firefox

Tutorial paso a paso de como crear una extensión, plugin o addon para firefox. Solamente es necesario tener conocimientos de xul (un lenguaje de marcas xml), javascript y algunas herramientas básicas de edición/compresión de ficheros. Ahora ya no parece tan complicado, ¿verdad?. Con muy poco esfuerzo podrás crear un pequeño plugin para firefox. Adaptarlo para crear el tuyo propio es sencillo pues explico para que sirve cada una de las cosas que haremos durante el tutorial. Espero que te sirva de ayuda pero sólo podrás utilizarlo a condición de que dejes algún pequeño feedback como comentario al final para poder adaptar y mejorar el texto (¡no te olvides de esto!).

Dicho esto comencemos como siempre por el principio:

Para comenzar comentaros que al crear la extensión necesitaremos cambiar de una manera bastante peligrosa nuestro navegador (de hecho, está prácticamente garantizado que echaremos a perder nuestra instalación de firefox). Es por eso que una de las maneras más seguras de actuar es creando un perfil especial para nuestras pruebas. Para generar este perfil debemos primero ejecutar nuestro firefox con la opción –profilemanager

$ firefox –profilemanager

A la hora de arrancar veras que te aparece una ventana donde se muestran los perfiles actuales (default) y te permite crear uno nuevo, borrar perfiles renombrar y utilizar un perfil en concreto. Puedes hacer, además que se lanze esta ventana cada vez que ejecutar firefox o trabajar offline si lo deseas. En este punto vamos a crear un nuevo perfil que llamaremos test además forzaremos que se nos muestre este menu en los próximos arranques de la máquina (eliminando el chekbox de «Don’t ask at startup»). También es posible arrancar firefox con un perfil determinado con la opción -P así si guardamos el perfil test la próxima vez podríamos arrancar utilizando

$ firefox -P test

ó

$ firefox -P default

Empleando directamente el perfil adecuado. Podemos incluso crear accesos directos a cada uno de estos perfiles desde accesos directos en nuestro escritorio

En principio sólo puedes tener en ejecución un tipo de perfil en firefox aunque tengas diversas ventanas independientes. Pero puedes eliminar esta limitación añadiendo el parámetro –no-remote al arrancar.

$ firefox -P test –no-remote

y

$ firefox -P default -no-remote

¡Tendras dos firefox con extensiones, bookmarks, cookies etcereta completamente diferentes!

En este perfil de test es donde desarrollaremos nuestra propia extensión. Es importante acceder a la página about:config (sólo tienes que poner about:config en al barra de direcciones) y modificar algunos parámetros que nos ayudarán en nuestro desarrollo. Estos parámetros suponen una penalización en el rendimiento de firefox para este perfil pero son realmente necesarios para nuestro desarrollo. Estos son:

*javascript.options.showInConsole = true* ok

Muestra los errores de los ficheros del chrome en la consola de errores (luego explico que es el chrome)

*javascript.options.strict = true* ok

Habilita el modo strict para javascript para avisos en la consola.

*extensions.logging.enabled = true* ok

Envía información más detallada a la consola de errores sobre problemas de instalación y actualización.

Para crear un extensión hay que crear en un archivo comprimido mediante zip con la extensión .xpi con un conjunto de ficheros que contienen datos sobre la extensión, código de la extensión, xul y recursos propios a la extensión. Si vas a servir tu extensión desde tu página web asegúrate que tu servidor envia las cabeceras adecuadas al descargar al extensión .xpi. Para ello basta configurar tu apache con

AddType application/x-xpinstall .xpi

Vemos ahora que debe contener este fichero .xpi

En su raiz un fichero llamado install.rdf con la información básica sobre la extensión

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *