Hola amigos,
Deseo usar PHP para resolver algunos problemas que tengo con CSS referente a los conflictos de IE8 y otros navegadores. He leído algunas orientaciones y quiero usar el PHP como herramienta para eso. Pero he compilado algunos códigos que encontré y no logré éxito.
Aquí está lo que estoy intentando:
1) Uso una función para identificar el navegador;
2) Creé una variable "$nav" para recibir la información del navegador en uso;
3) Solamente para prueba he dado un "echo" en la variable "$nav" para verificar si esta con alguna información y si esta esta correcta;
4) Empecé a montar el encabezamiento da página html.
5) Cuando llego en la construcción del /head/ uso una condicional, o sea, si el navegador identificado fuese Internet Explorer añada a la linea de estilo de css:
Cita: <link href="estilo_ie.css" rel="stylesheet" type="text/css" />
De lo contrario:
Cita: <link href="estilo.css" rel="stylesheet" type="text/css" />
PROBLEMAS:
1) La condicional no esta funcionando porque en los navegadores que he hecho la prueba el script está cargando solamente el "estilo_ie.css" en cualquier navegador.
2) Usando el Firebug y el DragonFlyer para verificar el estilo cargado verifiqué que el PHP está añadiendo la linea dentro del /body/ y no dentro del /head/.
Si alguien estuviese dispuesto a ayudarme aquí estoy para hacer las pruebas.
Pongo abajo el código para identificación de los posibles errores:
Código PHP:
<?php
function ObtenerNavegador($user_agent) {
$navegadores = array(
'Opera' => 'Opera',
'Mozilla Firefox'=> '(Firebird)|(Firefox)',
'Galeon' => 'Galeon',
'Mozilla'=>'Gecko',
'MyIE'=>'MyIE',
'Lynx' => 'Lynx',
'Netscape' => '(Mozilla/4\.75)|(Netscape6)|(Mozilla/4\.08)|(Mozilla/4\.5)|(Mozilla/4\.6)|(Mozilla/4\.79)',
'Konqueror'=>'Konqueror',
'Internet Explorer 8' => '(MSIE 8\.[0-9]+)',
'Internet Explorer 7' => '(MSIE 7\.[0-9]+)',
'Internet Explorer 6' => '(MSIE 6\.[0-9]+)',
'Internet Explorer 5' => '(MSIE 5\.[0-9]+)',
'Internet Explorer 4' => '(MSIE 4\.[0-9]+)',
);
foreach($navegadores as $navegador=>$pattern){
if (eregi($pattern, $user_agent))
return $navegador;
}
return '';
}
?>
<?php
$nav = ObtenerNavegador($_SERVER['HTTP_USER_AGENT']);
echo $nav;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
if ($nav = "Internet Explorer 8")
{
?>
<link href="estilo_ie.css" rel="stylesheet" type="text/css" />
<?php
}
else
{
?>
<link href="estilo.css" rel="stylesheet" type="text/css" />
<?php
}
?>
<meta http-equiv="Content-Type" content="text/html; charset= iso-8859-1" />
</head>
<body>
</body>
</html>
Saludos!
Gabriel