2011-03-29 10 views
15

Trabajé con extensiones de Chrome que tienen la llamada página de fondo: una página html que se carga en el fondo una vez por cada ventana del navegador. Puede almacenar allí algunas variables de javascript, puede acceder al propio almacenamiento local de la extensión, puede comunicarse de vuelta y forzar con secuencias de comandos de contenido (scripts inyectados en páginas).¿Los complementos de Firefox tienen algo similar al concepto de "página de fondo"?

¿Hay algo similar en Firefox y cómo lo uso para las tareas enumeradas anteriormente?

Respuesta

0

Desde el punto de vista de una extensión tradicional de Firefox, el navegador en sí es solo otra ventana que contiene un documento, aunque este es un documento XUL en lugar de un documento HTML. De modo que puede almacenar variables por ventana, aunque debe tener cuidado de no sobreescribir otras variables de extensión, lo que generalmente significa declarar un objeto de nivel superior y agregar todas sus variables como propiedades de ese objeto.

Compartir variables entre ventanas solía ser un poco más difícil, pero afortunadamente los módulos de JavaScript resuelven ese problema en casos simples (tipos primitivos).

Las extensiones se pueden comunicar con las secuencias de comandos de contenido aunque hay algunas envolturas en su lugar para evitar que accidentalmente se haga algo tonto.

12

Si está utilizando (relativamente) nuevo Add-On SDK, el archivo javascript principal que reside en su directorio lib es equivalente a la página de fondo de una extensión de Chrome: un script persistente que se ejecuta en segundo plano y genera/crea/inserta paneles, widgets y scripts de contenido.

En cuanto a su pregunta específica:

1. localStorage: complementos en Firefox no puede acceder directamente localStorage. Sin embargo, puede usar simple-storage para almacenar datos similares a localStorage.

2. La comunicación con contenido en secuencias de comandos: complementos pueden comunicarse con guiones de contenido utilizando port o postMessage.

Cuestiones relacionadas