Hace unos días Andrés Nieto propuso una iniciativa para terminar con Internet Explorer 6. Y como ya es costumbre para mí de seguir iniciativas populistas, desde mi pequeño bunker apoyaré esta iniciativa y copypasteo lo más importante escrito por Andrés:
¿El día?
El día 18 de Octubre del 2009a las 00:00 es el día tope
¿Como lo hacemos?
Mucho más sencillo que antes, no vamos a privar a los usuarios de que accedan o no al contenido de las páginas web, pero les vamos a eliminar TODOS los estilos CSS cuando el usuario entre con ese navegador (IE6) y añadiremos un mensaje superior informando de que su navegador está anticuado y que hay alternativas mejores.
¿Que código usamos?
Mucho más sencillo y fácil de usar que el anterior. Necesitaremos una función para detectar el día que lanzaremos la iniciativa.
<?php
function NOIE6() {
$start = date('U', mktime(-12, 0, 0, 10, 18, 2009));
$now = time() + date('Z') * -1;
$isIE6 = eregi("MSIE 6\.[0-9]+", $_SERVER['HTTP_USER_AGENT']);
if ($isIE6 && ($now >= $start)) return true;
return false;
}
?>
Esta función devuelve true en caso de que hayamos pasado la fecha de inicio de la iniciativa. Y nos seguirá devolviendo ese valor siempre que Internet Explorer 6 sea el navegador que visita nuestra página.
Ahora solo nos queda condicionar la salida de las hojas de estilo:
<head>
...
<?php
if ( !NOIE6() ) {
echo '<link rel="stylesheet" type="text/css" href="styles.css" />';
}
?>
...
</head>
De esta forma, siempre que se cumplan las condiciones (que pase la fecha y que sea Internet Explorer 6) no nos pintará la los estilos en la página.
¿Y el mensaje?
El mensaje creo que es algo muy subjetivo y que cada uno debería implementar a su gusto y con sus palabras. Así coge un toque más humano y menos enlatado. Pero usaremos los tags condicionales de Internet Explorer 6 para mostrarlo:
<!--[if IE 6]> <div id="usuarios-ie"> La versión de Internet Explorer que estás utilizando no es recomendada para navegar en Internet. Te recomendamos que actualices a <a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx">una versión más reciente</a> o pruebes otros navegadores como <a href="http://www.mozilla.com" title="Firefox web browser">Firefox</a>, <a href="http://www.opera.com/" title="Opera Browser">Opera</a>, <a href="http://www.apple.com/safari/" title="Apple Safari">Safari</a> o <a href="http://www.google.com/chrome" title="Google Chrome">Chrome</a> </div> <![endif]-->
Si usas Wordpress es aún más fácil, basta con añadir este código al fichero functions.php de tu theme:
<?php
function noie6($url){
$start = date('U', mktime(-12, 0, 0, 10, 18, 2009));
$now = time() + date('Z') * -1;;
$isIE6 = eregi("MSIE 6\.[0-9]+", $_SERVER['HTTP_USER_AGENT']);
if ($isIE6 && ($now >= $start)) return "";
return $url;
}
add_filter("stylesheet", "noie6");
add_filter("stylesheet_uri", "noie6");
?>
Ah, pero bien que me decías que “al cliente” lo que quiera y la madre >.>
bueno tampoco pienso poner este código en las páginas de la empresa U_U