jueves, 1 de diciembre de 2011

Firefox 8, Chrome 15 y jQuery click()

Es triste ver que un navegador tan bueno (por la forma en la que interpreta los javascript, css, etc.) me este presentando muchas fallas últimamente. Me refiero a Firefox, el cual actualicé a la versión 8 la semana pasada y todo parecía ir de maravilla hasta hace 2 días. Al parecer Firefox arrastra una serie de fallas desde versiones anteriores (3.6) que no han podido corregir al 100%. Hablo/escribo acerca de la falla en que el navegador deja de mostrar las páginas y sólo se ve el estado de carga en "Conectando", posteriormente el usuario cierra el navegador pero al tratar de reiniciarlo aparece un cuadro de dialogo indicando que no es posible porque aún no se cierra el anterior proceso. Sólo cerrando el navegador desde al administrador de tareas es posible terminar el proceso (además de tener que cerrar los múltiples "plugin container.exe" que se iniciaron.

Todo pareciera ir bien al tratar de navegar pero luego de un rato vuelven los síntomas y hay que reiniciar el navegador nuevamente. Muchos recomiendan crear un nuevo perfil de Firefox pero no ha resultado aún. Lo único que note es que también actualicé el iTunes a la versión 10 (coincide con el inicio de los síntomas) y al querer desinstalarlo mientras navegaba con Firefox no pude porque requería que el navegador estuviera cerrado (WTF?!).


Todo lo anterior me orilló a instalar el Google Chrome (aún no me acostumbro) y la primera impresión iba bien hasta que decidí visitar un sitio que creé y ¡Sorpresa! Un poco de javascript (a través de jQuery) que escribí no funcionaba, específicamente la función click de un input de tipo file. El evento si es procesado por Chrome pero no abre el cuadro de dialogo para selección de archivo sí el input tiene un estilo display:none; Anteriormente tuve que adaptar el script porque Firefox si abre el dialogo de selección de archivo aunque el input=file tenga un estilo display:none pero IE no. Así que tanto en IE como en Chrome el tipo de "display" no puede ser "none" (algo que no me gusta pero tendré que lidiar con ello hasta la próxima actualización de Firefox) en los input:file en los que queremos ejecutar el evento click. Pero cuidado, el Chrome si lanza el evento y ejecuta el código que escribas en él, más nunca abrirá el dialogo de selección de archivos.

Para finalizar sólo quiero aclarar que la consola, y herramientas para desarrolladores, del Chrome es más completa que la de Firefox pero me gusta la simpleza del último.