Detectar Internet Explorer 6

Por desgracia, los desarrolladores web aún tenemos que enfrentarnos a las incompatibilidades con el estándar del navegador web de Microsoft Internet Explorer 6 (o «IE6«) que, para vergüenza de Microsoft, y para dolor de cabeza de los webmasters, es el navegador más incompatible con la norma estándar del panorama actual (de los navegadores considerados «vivos»).

No vale con poner una advertencia del tipo «Actualice su navegador», porque eso nos haría perder usuarios. Simplemente tenemos que resignarnos y diseñar/programar teniendo en cuenta las incompatibilidades de IE6, y  a sus usuarios. La mayor parte de las veces creando versiones adaptadas a este navegador IE6 (de las hojas de estilo, de los scripts, etc.).

A veces nos encontramos con un elemento que «no encaja» o no se comporta como nosotros queremos en IE6. Y una forma rápida de resolver ésto es detectando el navegador, y en el caso de ser IE6, ejecutar una versión adaptada a este navegador del elemento en cuestión.

Para detectar si el navegador que visita la página web es Internet Explorer 6, y por tanto ejecutar tal o cual acción, podemos recurrir a rutinas muy sencillas. Vamos a ver un ejemplo para detectar el navegador IE6 en PHP (remoto), y seguidamente en JavaScript (local).

En PHP podemos detectar IE6 de la siguiente forma:

if ( substr($_SERVER[‘HTTP_USER_AGENT’], 25, 6) == «MSIE 6» ) {
// accción a ejecutar si el navegador es IE6
} else {
// accción a ejecutar si el navegador NO es IE6
}

En JavaScript, detectaríamos IE6 de esta otra forma:

var is_ie6 = (
window.external &&
typeof window.XMLHttpRequest == «undefined»
);

… donde la variable booleana is_ie6 será true en el caso de tratarse de IE6, o false en el caso contrario.