Hace un tiempo se me ocurrió un solución para compatibilizar los estilos de mi site para distintos navegadores. La cosa consiste en averiguar la versión del navegador en la que te encuentras, pasarlo a una variable y luego montar un switch case.
Lo que no pensé entonces es que los navegadores cambian de versión convirtiéndose en navegadores no reconocibles para mi artilugio.
Está claro que puedo ir añadiendo casos para cada navegador, pero me gustaría hacerlo sólo cuando realmente el cambio introduzca variaciones en el soporte de CSS.
La pregunta es ¿Puedo hacer esto indicando versiones mayores que y desde tal versión a cual versión?
Os adjunto el código par que veais la simpleza de la idea:
Código PHP:
<?php session_start();
//Compruebo errores
error_reporting(E_ALL & ~E_NOTICE);
ini_set("display_errors", 1);
$navegador = $_SERVER['HTTP_USER_AGENT'];
switch($navegador) {
case "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)":
//MS Internet Explorer7.0
echo '<link type="text/css" rel="stylesheet" href="../Estilos/estilosCSS3_IE7.css">';
break;
case "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)":
//MS Internet Explorer9.0
echo '<link type="text/css" rel="stylesheet" href="../Estilos/estilosCSS3.css">';
break;
case "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/534.7":
//Google Chrome
echo '<link type="text/css" rel="stylesheet" href="../Estilos/estilosCSS3_ChR.css">';
break;
case "Opera/9.80 (Windows NT 6.1; U; es-LA) Presto/2.6.30 Version/11.01":
//Opera
echo '<link type="text/css" rel="stylesheet" href="../Estilos/estilosCSS3_OP.css">';
break;
default:
echo '<link type="text/css" rel="stylesheet" href="../Estilos/estilosCSS3.css">';
break;
}
?>
Muchas gracias por adelantado,