configuration - que - perfiles firefox
Desarrollo de la extensión de Firefox-Almacenamiento de datos-¿Preferencias de Firefox es un buen lugar? (2)
Es posible ubicar el directorio de perfiles o extensiones de Firefox a través del código. Incluso puede ubicar el directorio de su propia extensión. La portabilidad no debería ser un problema con este enfoque.
Puede encontrar instrucciones en el MDC (File I / O) .
No aconsejaría guardar datos en las preferencias. De todos modos, en lugar de usar archivos sin conexión, puedes buscar en las bases de datos sqlite, ubiquity también las usa.
Aclamaciones.
Desarrollé un complemento de Firefox que necesita guardar algunos datos de usuario en la máquina local. En este momento, uso la funcionalidad del sistema de archivos que proporciona Firefox para crear algunas carpetas y archivos en el sistema del usuario.
La portabilidad es un problema. Lo diseñé para Windows XP. Pero, la estructura de carpetas de Vista es diferente (dentro de los datos de la aplicación). Linux es completamente diferente. Hago una comprobación del sistema operativo y creo / lee / escribe archivos en consecuencia. De repente, ¡necesito apoyar a Macs!
Pensé por qué no guardar los datos en las preferencias de Firefox. Usaré el Administrador de preferencias.
En promedio, la cantidad total de datos apenas supera los 100 KB. Pero el caso es que, en casos excepcionales, los datos podrían ser bastante grandes, algunos megabytes en el peor de los casos. Entonces, ¿es una buena idea guardarlo como valores de preferencia?
Sé que no es para lo que está destinado, pero me ahorrará muchos dolores de cabeza.
Incluso si es una mala idea, simplemente hágamelo saber sobre el rendimiento u otros problemas (si corresponde) de almacenar esa cantidad de datos en las preferencias.
Gracias.
Con las versiones más recientes de Firefox puede usar SQLite para almacenar datos . La API SQLite en JavaScript no es muy buena, pero a partir de Firefox 3.6 está empezando a ser bastante sólida (búsqueda de datos asimilada, vinculando múltiples conjuntos de datos, etc.).
Puede abrir / crear un archivo en el directorio de perfil usando el siguiente código. Funciona en todas las plataformas en las que se ejecuta Firefox:
var file = Components.classes["@mozilla.org/file/directory_service;1"]
.getService(Components.interfaces.nsIProperties)
.get("ProfD", Components.interfaces.nsIFile);
file.append("my_db_file_name.sqlite");