NOIEDay, el día sin Internet Explorer 6

Desde anieto2k nos sugieren esta llamativa propuesta creada ¨íntegramente en la web, por lo que se puede decir que es una inicitiva 2.0 completamente.

La iniciativa nació por lo mal que trata Internet Explorer 6 el código, sobre todo el CSS. Y de un momento de rabia plasmado en un blog como en el de Andrés ha nacido una propuesta que está creciendo con los demás.

Remarco lo que dice Andrés en su blog:

¿El día?

La propuesta es para el día 18 de Octubre del 2009 a las 00:00.

¿Cómo lo hacemos?

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.

¿Qué ganamos?

No tener que meter hacks en el código y evitar perder el tiempo en hacer que las aplicaciones y diseños se vean perfectas en IE6. Además, nos obliga a pensar en la semámtica del código y en una estructura que permite la lectura del contenido a los que por motivos de fuerza mayor nunca puedan actualizar, haciendo caso a una de las premisas de accesibilidad web más importantes.

¿Qué gana el usuario de Internet Explorer 6?

Mayor seguridad, mejor usabilidad, no tener problemas con ningún diseño.

¿Qué código usamos?

Añadimos el siguiente código justo después de la etiqueta <head>:

<head>
...
<?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;
}

if ( !NOIE6() ) {
  echo '<link rel="stylesheet" type="text/css" href="styles.css" />';
}
?>
...
</head>

¿Y el mensaje?

El mensaje puede ser personalizado, así será menos engorroso y particular de cada página ;)

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

Vía: anieto2k