Foros del Web » Programando para Internet » PHP »

Ampliar el rango de navegadores compatibles

Estas en el tema de Ampliar el rango de navegadores compatibles en el foro de PHP en Foros del Web. Hola a todos/as: Hace un tiempo se me ocurrió un solución para compatibilizar los estilos de mi site para distintos navegadores. La cosa consiste en ...
  #1 (permalink)  
Antiguo 23/02/2012, 09:52
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 14 años, 3 meses
Puntos: 4
Ampliar el rango de navegadores compatibles

Hola a todos/as:

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;
        
}
?>
Si a alguien se le ha ocurrido alguna solución en esta línea que me pueda a servir de ayuda o tiene otra manera de resolver el tema le agradeceré su aportación.

Muchas gracias por adelantado,
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #2 (permalink)  
Antiguo 23/02/2012, 10:00
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 2 meses
Puntos: 74
Respuesta: Ampliar el rango de navegadores compatibles

Si, que en vez de usar switch uses if y matas dos pajaros de un tiro. Por un lado aunque no lo aprecies if es más rapido que switch y por otro lado es que con if si que puedes hacer esa comparación. Ejemplo:

Código PHP:
Ver original
  1. if($version_navegador >= 5)
  2. {
  3. //codigo...
  4. }

Saludos,

Etiquetas: compatibles, html, navegadores, rango, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:22.