Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2010, 06:15
Gabprog
 
Fecha de Ingreso: mayo-2009
Ubicación: Leganés - Madrid
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 1
Añadir enlace de css com PHP dentro del /head/

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