Archivo de la categoría: Navegador

Internet Explorer Encoding Fail

…o como un buen día acaba arruinado por esa basura.

Ayer fue un día prolífico de web-developeo, gracias a que me tope con parte del trabajo ya implementado (y libre), facilitándome mucho las cosas :D. Gracias a eso, podré añadirle otro toque “2.0” a Gonium.

En los últimos días, por motivos de fuerza mayor, he estado trabajando con otro laptop, … con windows xp (chan!). Es acá donde recordé que gran cantidad de las herramientas que ocupaba para desarrollar, cuando desconocía Linux, eran propietarias, pesadas y expiraban a los 10-15-30 días (a menos claro que…). Aproveche esta oportunidad para hacer las pruebas de rigor en Internet Explorer. Como era de suponerse, me causo algunas reacciones urticantes.

Entonces investigando encontré algunas cosas útiles, libres y para windows:

  • 7-zip sino como diablos abro un tar.gz o un tar.bz2 😆
  • Xampp un instalador de Apache+PHP(4/5)+Mysql5 y PHPMyAdmin. Lo bueno es que trae además:
    • mod_rewrite (Apache) Necesario para trabajar con Zend_framework y las urls para SEO. Hay que activarlo en el httpd.conf descomentado la linea que lo carga).
    • xdebug (PHP) Aunque no viene preinstalado, pero es cosa de editar el php.ini, sacar zend_optimizer y descomentar las lineas de xdebug (vienen seguidas).
  • Zend Framework, pack de clases + documentación + … + guías, para trabajar con PHP5
  • Notepad++ Editor te texto plano, para trabajar con código fuente en un montón de lenguajes.
  • Poedit Interfaz gráfica para gettex, una aplicación que permite realizar traducciones desde y en nuestro código fuente.

Con todo esto, más un buen pack de navegadores (Firefox, Arora (basado en webkit), Opera, Safari, IE en todas sus repugnantes versiones), ¿necesito pagar un peso para aprender/trabajar?

Construcción

Basado en el código que me encontré, quería implementar un nuevo módulo para mi sitio. Como trabajo con Zend Framework, es cosa de crear una nueva carpeta con la siguiente estructura:

root/modules
root/modules/my_new_module
root/modules/my_new_module/controllers
root/modules/my_new_module/models
root/modules/my_new_module/views
root/modules/my_new_module/views/scripts

Luego cree mi “MyNewModule_IndexController” (en root/modules/my_new_module/controllers) y mi script de vista index.phtml (en root/modules/my_new_module/views/scripts).

Es tan sencillo y corto que no lo voy a postear.

¿Y donde esta el EPIC FAIL?

Probé el nuevo módulo en Firefox durante todo el día, hasta que se me ocurrió ¿porque no probarlo en IE7 si estoy en windows?

EPIC FAIL:

Módulo pwneado en Internet Explorer 7

Todo el div central se desencuadro 👿 !!!

Las consecuencias eran evidentes. ¿Tendría que cambiar el Layout completo? ¿Tendría que cambiar el css? Afortunadamente, este incidente me obligo a replantear el CSS, que ya estaba algo desordenado. Ajustando perillas por aquí y por allá arregle algunos div’s y formularios rebeldes, pero del misterioso div desencuadrado nada…

Mis otros módulos seguían estando bien.

Probé mil y un arreglos, pero en mis otros navegadores seguía viéndose correctamente:

adasd
Módulo pwneado en Mozilla Firefox 3.0.1

Incluso en Safari (que recordemos, al principio entendía pésimo el HTML 😆 ):

fasdfdf
Módulo pwneado en Safari 3.1

Una delicia visual 😀

WTF :S

Cuando prácticamente dí por perdido el asunto, recorde a un colega, cuando trabajaba su código fuente, se enfrentó a un problema de codificación de caracteres. ¿Ha tenido problemas para mostrar caracteres acentuados en php/html? a esos mismos problemas me refiero. ¡Pero si no tiene nada que ver! ¿o si?

No perdía nada con probar. Todo el código fuente base de Gonium lo desarrollé con Kate y Quanta Plus en Kubuntu, que por defecto, trae codificación utf-8 en TODO el sistema (hasta los sistemas de archivos). Para mantener “compatibilidad” de mi código fuente, configuré Notepad++ desde el principio para producir archivos nuevos como utf-8 con saltos de linea unix.

¿Y si lo cambio a ANSI? Problema resuelto (uff!!!

Hacer que Firefox 3 beta 5 abra archivos descargados como estan asociados en KDE

Sigo con Kubuntu Hardy Heron. Por fortuna o desgracia, la distro trae Firefox 3 beta 5 como la version actual de “firefox”.

Una de las gracias de esta version, es que al descargar un archivo y abrirlo, nos pregunta con que programa hacerlo.

Es mejor que lo que había antes, pero aun no es tan bueno. El programa lo escogemos para el protocolo, no para “el tipo de archivo”, así que todos los archivos locales (interpretados como protocolo file) se agregaran a la lista.

Además, igual es latoso asociar cada tipo a un programa distinto, cuando KDE maneja su propia asociación de archivos (y de antemano). Entonces acá fue donde Amsn me dio una pista:

El comando kfmclient exec /archivo/de/entrada lo que hace es abrir la direccion dada con el programa asociado en KDE. Si es un directorio lo abre en Konqueror o Dolphin. Si el tipo de archivo no está asociado aún, pregunta con que programa abrirlo.

Ahora el problema con Firefox, es que deja escojer “el programa” con que abrir los archivos (ya convenimos que se va a usar kfmclient) pero no deja pasarle argumentos (es necesario el “exec”), por lo tanto mi solución fue la siguiente:

  • Creamos un script como root llamado /usr/bin/abrircon, para eso puede ejecutarse:
  • sudo nano /usr/bin/abrircon
  • O sino:
  • kdesu kate /usr/bin/abrircon
  • Le pegamos el siguiente contenido:

#!/bin/bash
kfmclient exec $1

  • Finalmente, le damos permiso de ejecución (también como root)
  • sudo chmod +x /usr/bin/abrircon

Ahora, en Firefox, la proxima vez que queramos abrir un archivo recien bajado, preguntará con que programa abrirlo. Entonces le damos la dirección de nuestro script:

/usr/bin/abrircon

Ojo: Antes de ponerle que “no vuelva a preguntar más”, prueben su funciona. Para el próximo archivo, tal vez quieran que no pregunte más.

Si por esas cosas de la vida, ya habian puesto que no preguntara más, lo que se debe hacer es (con Firefox cerrado), es editar un archivo dentro del perfil de firefox, que se ubica en la siguiente carpeta:

~/.mozilla/firefox/<carpeta del perfil>

donde <carpeta del perfil> es un nombre generado aleatoriamente la primera vez que ejecutan Firefox.

El archivo en cuestión se llama mimeTypes.rdf

Se debe buscar la linea que dice

<RDF:Description RDF:about=”urn:handler:local:

(La deje incompleta a propósito). Si bajo esa linea hay algo como:

NC:alwaysAsk=”false”

Solo se debe cambiar el false por true.

PD: Toda esta tontera no abría sido necesaria si desde el principio el Firefox permitiera pasarle argumentos a los programas escogidos, además de que en ningún panel/menú/opción encontre como desactivar “que no preguntara más” al “abrir un archivo con…”.

Lanzar cliente IRC (Konversation) con Firefox en links tipo irc:

Siguiendo con el post anterior de como lanzar Kmail con Firefox en links tipo “mailto:X”, acá hay otro tip para arrancar el cliente irc.

En caso de tener instalado Chatzilla, al clickear un link “irc:/servidor/canal” ejecutará el cliente chatzilla. Si no lo tenemos (en mi caso porque ocupo Konversation) , no existirá ninguna regla.

Entonces, lo que se necesita es entrar en about:config y crear una nueva regla para manejar de protocolo irc.

Se crea una nueva cadena (click derecho -> Nuevo -> Cadena).

En el nombre ponemos: network.protocol-handler.app.irc

Y en el valor: konversationircprotocolhandler

En mi caso, el programa que maneja el protocolo IRC es konversationircprotocolhandler y no konversation a secas. No se si otros programas clientes irc soporten el paso de parámetros por consola, pero no hace daño probar.

Lanzar Kmail (o tu cliente de correo favorito) con Firefox en links mailto:

Recién quería mandar un email a una dirección que encontré en la web, y debido a unas extensiones, me resultó dificil copiar el texto.

Pero no es la idea copiar la dirección, pegarla y mandar el mail tampoco. Se supone que puede hacerse rápidamente con un click.

Para ello, necesitamos editar un archivo de configuración de Firefox. Como sugerencia, es preferible hacerlo con Firefox cerrado, así que mejor lee este post con otro navegador (o lector de feeds) mientras lo haces.

Buscamos el archivo prefs.js en el perfil de firefox en nuestra carpeta home:

  • ls ~/.mozilla/firefox/*/prefs.js

Ojo, el asterisco en consola significa “cualquier cosa que coincida” y como en ese comando lo llamo como un directorio, significa “el primer directorio que encuentres”. En una situación normal solo tenemos 1 perfil de firefox, por lo tanto solo una carpeta, pero en otro caso, mira si existen más carpetas de perfiles, generalmente el nombre es una convinación aleatoria.

Ok, dicho esto, ahora vamos a hacer la magia, agregamos la siguiente linea (se aconseja ponerla en el orden alfabético que tiene el archivo) :

  • user_pref(“network.protocol-handler.app.mailto”, “/opt/kde/bin/kmailservice“);

Donde lo que está en negrita es la dirección del programa que lanzaremos al hacer click en un link tipo “mailto:” (En mi caso, ese programa es el que lanza la cajita para escribir el correo con Kmail).

Descontento mundial por Internet Explorer, la pesadilla de los Webmasters

Ayer sábado después de una agotadora clase matutina (y antes de la gran Junta Powers), pase a revisar algunas cosas a los laboratorios del departamento, y navegando en un foro, me enteré de esta noticia.

Resulta que alguien (un Webmaster de profesión, programador de sitios web para quien no sepa el término “webmaster”) envió a digg su historia de descontento contra Internet Explorer (de aquí en adelante IE). l afirma que en su trabajo, se demora un 30% del tiempo en el desarrollo completo, y 70% en ajustarlo para que funcione en IE.

Osea que sacando cuentas, podría hacer 2 sitios y un tercio extras (de igual complejidad cada uno) en el mismo tiempo, y por supuesto, ganar más. Osea que el costo de oportunidad es altísimo, y se traduce en una enorme pérdida económica.

Y no me extraña para nada, yo siento lo mismo. Desde que partí hace casi 7 años experimentando con sitios web, tengo suficiente experiencia para decir que cuesta más desarrollar un sitio con estilos y scripts que funcionen en IE que en cualquier otro navegador. Aún así, es preocupante la cantidad de sitios, incluso del sector público, que están hechos con scripts específicos para IE, impidiendo que cualquier mortal pueda acceder a ellos, y por supuesto, pasando a llevar todos los estándares mundiales oficialmente reconocidos.

Y la noticia no es nueva. Hace tiempo leí una idea sobre que los propios fanboys de Windows clamaban por hacer un boicot contra Internet Explorer 7, y no solo eso, sino que en el mismo artículo mencionan que los desarrolladores de Internet Explorer 7 declararon que no les importa arreglarlo.

Si quieren probar si su navegador es respetuoso con estos estándares, puede realizar esta sencilla prueba, que consiste en dibujar una carita feliz (smile) con diversos códigos. Por el momento Firefox 2 no pasa completamente, pero doy fe de que el motor gecko del Firefox 3 Grand Paradiso si lo hace, al igual que Opera, Konqueror y Safari.

Lo que me llama más la atención, es que el malestar es GENERALIZADO. La noticia solo ese día llevaba 7059 Diggs (gente registrada votando por la noticia), hoy revisándola de nuevo, hasta este minuto veo que lleva 7752.

Si usted es webmaster, y tiene cuenta en digg (o le indignó tanto la noticia que desee registrarse), aporte con un digg.