viernes, 7 de agosto de 2009

Automatizar cambios de configuracion en Firefox

¿Quieres ocultar la barra de navegación a los usuarios de tu web pero firefox no te lo permite? ¿Te ocurre lo mismo intentando cerrar la ventana principal desde javascript?

Todo esto y todo lo que puedes configurar mediante "about:config" es posible automatizarlo mediante un sencillo script como este:

 
Option Explicit
On Error Resume Next

Dim objFSO
Dim objFolder
Dim tso

Set objFSO = CreateObject("Scripting.FileSystemObject")

' Crea el fichero user.js para cambiar las preferencias de Firefox (de los nuevos perfiles que se vayan a crear)
Set tso = objFSO.OpenTextFile(CreateObject("WScript.Shell").ExpandEnvironmentStrings("%PROGRAMFILES%") & "\Mozilla Firefox\defaults\profile\user.js",2,True)
tso.WriteLine("user_pref('dom.disable_window_open_feature.location', false);")
tso.WriteLine("user_pref('dom.allow_scripts_to_close_windows', true);")
tso.Close

' Crea el fichero user.js para cada perfil con las preferencias de Firefox
set objFolder = objFSO.GetFolder(CreateObject("WScript.Shell").ExpandEnvironmentStrings("%APPDATA%") & "\Mozilla\Firefox\Profiles")
for each objFolder in objFolder.SubFolders
Set tso = objFSO.OpenTextFile(objFolder.Path & "\user.js",2,True)
tso.WriteLine("user_pref('dom.disable_window_open_feature.location', false);")
tso.WriteLine("user_pref('dom.allow_scripts_to_close_windows', true);")
tso.Close
next

MsgBox "Modificación finalizada (debe reiniciar Firefox si está abierto)"

Wscript.Quit

Debido a restricciones de seguridad, este script no puede ser ejecutado desde tu web, pero el usuario puede descargarlo y ejecutarlo en su máquina.

Puedes cambiar tantos parámetros de configuración como desees, añadiendo líneas como la que ves en el script:

 
tso.WriteLine("user_pref('OPCION_A_CONFIGURAR', VALOR_DE_LA_OPCION);")

El script lo que hace es crear un fichero user.js y copiarlo a todos los perfiles de firefox, de forma que cuando el usuario arranque firefox tendrá configuradas las opciones tal y como se ha especificado en el script.

El script sólo funciona bajo Windows, pero si necesitas crear uno para otro sistema operativo es muy sencillo viendo este.

No hay comentarios:

Publicar un comentario