NOIE6Day

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");
?>

About Jesús Sánchez

Nací en un pueblito casi en la costa de Oaxaca, México, en el lluvioso mes de julio de 1987. Desde 2002 vivo en Monterrey, Nuevo Léon, México.

Soy desarrollador web, experto en CSS+XHTML, programador PHP, ASP, bloggero, twittero, flickero, mi gran pasión, admeás de la tecnología, es el futbol, le voy al América y al que no le guste que se vaya a leer alt1040.
This entry was posted in Internet, Programación, Software and tagged , , , , , . Bookmark the permalink.

2 Responses to NOIE6Day

  1. pablasso says:

    Ah, pero bien que me decías que “al cliente” lo que quiera y la madre >.>

  2. Jesús says:

    bueno tampoco pienso poner este código en las páginas de la empresa U_U

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>