Escribir en ficheros mediante XUL
Leyendo la entrada de aNieto2K sobre logs en Javascript, me he acordado de que hace tiempo que quiero comentar cómo escribir en ficheros mediante XUL en extensiones para Firefox.
Aunque la principal función puede ser la escritura de opciones o ficheros de configuración o guardar datos, el motivo por el que yo lo busqué era para hacerme unos logs que me faciliten el trabajo del desarrollo de una extensión para Firefox (de aquà la asociación con el post de aNieto2K).
var savefile = "c:\\displaynotes.log.txt";
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("Permission to save file was denied.");
}
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath( savefile );
if ( file.exists() == false ) {
alert( "Creating file... " );
file.create( Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 420 );
}
var outputStream = Components.classes["@mozilla.org/network/file-output-stream;1"]
.createInstance( Components.interfaces.nsIFileOutputStream );
// Suponemos que existe una variable con el texto llamada content
outputStream.init( file, 0x04 | 0x10, 420, 0 );
var result = outputStream.write( content, content.length );
outputStream.close();
En el init del outputStream nos encontramos con una serie de flags para abrir el fichero que se usan como máscara. Estos flags tienen los siguientes posibles valores:
RDONLY 0x01 PR_WRONLY 0x02 PR_RDWR 0x04 PR_CREATE_FILE 0x08 PR_APPEND 0x10 PR_TRUNCATE 0x20 PR_SYNC 0x40 PR_EXCL 0x80
A parte, existe un parámetro para indicar el modo del fichero, válido únicamente para entornos Unix:
00400 Read by owner. 00200 Write by owner. 00100 Execute (search if a directory) by owner. 00040 Read by group. 00020 Write by group. 00010 Execute by group. 00004 Read by others. 00002 Write by others 00001 Execute by others.
No recuerdo de dónde saqué esta información, por lo que no os puedo poner la referencia.
Interesante artículo que te ayuda a mejorar la estructura de tu sitio Flash. Teniendo en cuenta que no se trata del diseño gráfico, sino de cómo está formado internamente: organizando los keyframes, ActionScripts y las películas.
Server Switcher es una extensión para Firefox que nos ayudará en el desarrollo de aplicaciones para poder cambiar de servidor de pruebas al de real, y viceversa, con un simple click del ratón. Esto nos es de mucha utilidad cuando estamos trabajando en diferentes entornos y queremos comprobar las diferencias entre uno y otro. Además, nos ahorra el tener que modificar las URLs de la barra de navegación del Firefox, ya que con un solo click realiza el cambio.