Ver Mensaje Individual
Antiguo 07-may-2008, 15:36   #6 (permalink)
alvlin
import fdw.mod.py
alvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradable
 
Avatar de alvlin
 
Fecha de Ingreso: julio-2005
Ubicación: Canelones, Uruguay
Mensajes: 4.425
Enviar un mensaje por MSN a alvlin Enviar un mensaje por Yahoo  a alvlin Enviar un mensaje por Skype™ a alvlin
Re: La solución definitiva para los conflictos entre navegadores

La idea está buena, una solución simple al problema

Solo tengo un par de comentarios que hacer:

1.- cuidado con el orden :)
Parte de la identificación de Konqueror es "KHTML (like Gecko)", por lo que según este programa, Konqueror sería identificado como Mozilla

2.- Si la función se usa tal cual está, el vector de navegadores se crea cada vez que se llama a la función. La solución para ganar unos milisegundos es crear el vector fuera de la función y luego hacerlo disponible con global, o declarar la variable como static y en cada ejecución de la función ver si ya tiene su valor o no. La más rápida es la primera opción, pero seguro que a los puristas del diseño de software no les gusta nada, ellos odian las variables globales

3.- Para ahorrar código y mejorar la claridad, propongo cambiar los if por:
Código PHP:
<?php
$navegador 
ObtenerNavegador($_SERVER['HTTP_USER_AGENT']);

switch(
$navegador) {
    case 
'Internet Explorer 6'$css 'ie6'; break;
    case 
'Internet Explorer 7'$css 'ie7'; break;
    case 
'Operai' $css 'opera'; break;
    case 
'Safari'$css 'safari'; break;
    default: 
$css 'estilos';
}

?><link rel="stylesheet" media="screen" type="text/css" href="<?php echo $css?>.css" />
incluso podría darse nombres más 'de archivo' al valor devuelto por la función, y luego (aunque se pierda un poco de libertad en la elección del nombre de la hoja de estilos), hacer

Código PHP:
<link rel="stylesheet" media="screen" type="text/css" href="<?php echo $navegador?>.css" />
Si quieren, llámenme "the masta of da milisécon"

Un puntito arriba para el "pana" metacortex por el aporte


Saludos.
__________________
El Codiguero.com

"Luke yo soy tu padre, Obi Wan es un ca*ón;
Leia es tu hermana, Han Solo es Harrison Foooooooooord"
alvlin esta en línea ahora   Responder Citando