Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 3 de 3

Tema: Hojas de estilo + php

  1. #1
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 feb, 08
    Ubicación
    En algun lugar al sur...
    Mensajes
    40
    Poder de Reputación
    19

    Hojas de estilo + php

    Bueno, el otro dia cuando pude empezar a enter un poco de php, se me vino a la cabeza una duda. Despues de tener tantos problemas con el firefox y explorer (los exploradores mas utilizados), pense si no podia armar dos estilos diferentes, y que la pagina sola reconozca que explorador estas usando.
    De ahi salieron mas preguntas:
    1) Hay una variable en el php (supongo que sera como la del ip _Server[algo]) que te diga la vercion y nombre del explorador que usa el visitante?,
    2) Se pueden insertar codigos php en el <head>?.
    Con eso ya pondria poner este codigo:
    Código:
    <?
    Switch ($navegador) {
    case 'firefox':
    ?><link rel="stylesheet" href="firefox.css" type="text/css" media="all"><?
    Break;
    
    case 'ie':
    ?><link rel="stylesheet" href="ie.css" type="text/css" media="all"><?
    break;
    }
    
    ?>
    o mas simple, sabiendo todas las posibildades que esta supuesta variable te puede dar (la qe te dice el nombre del explorador):
    Código:
    <head>
    <link rel="stylesheet" href="<?echo "$variable-q-dice-el-nombre-del-explorador";?>.css" type="text/css" media="all">
    </head>
    Claro, si no existe esta variable que estoy deseando su existencia,,, tendre que matarme de la forma antigua para que se vea igual.

    Saludos, espero su respuesta.

    P.D.: se puede usar tmb el php para los meta tags?
    http://kck.coolpage.biz --- Pagina Sobre el Age of empires II :D

    http://www.des-aburrite.com.ar --- Una pagina para lo que quieras :D

    http://anti-flogger.freetzi.com --- Entra y veras ;). Pagina muy interesante :D

  2. #2
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    23 dic, 07
    Ubicación
    Desconocida
    Mensajes
    568
    Poder de Reputación
    21
    si se pueden usar css y en cuanto la las metas claro que se pueden usar sino, como encontrarian las pagina los navegadores?
    en cuanto al nombre del navegador eso se podria acer con un script pero no se si existe y codigos php en head lo mas seguro esque no

  3. #3
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 feb, 08
    Ubicación
    En algun lugar al sur...
    Mensajes
    40
    Poder de Reputación
    19
    Bueno, encontre lo que queria :D
    Este es el codigo php:
    Código:
    <?php
    /*
    Script Name: Lightweight PHP Browser Detector
    Author: Harald Hope, Website: http://TechPatterns.com/
    Script Source URI: http://TechPatterns.com/downloads/ph..._detection.php
    Version 1.1.8
    Copyright (C) 28 October 2007
    
    This program is free software; you can redistribute it and/or modify it under 
    the terms of the GNU General Public License as published by the Free Software
    Foundation; either version 3 of the License, or (at your option) any later version.
    
    This program is distributed in the hope that it will be useful, but WITHOUT 
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
    
    Get the full text of the GPL here: http://www.gnu.org/licenses/gpl.txt
    
    Coding conventions:
    http://cvs.sourceforge.net/viewcvs.p...ds.htm?rev=1.3
    */
    
    /*
    basic function, has two tests currently, 'browser', returns shorthand for browser name,
    or 'number', which returns browser number, or in mozilla's case, the rv number. You can
    also use the 'full' parameter to get back both results at once, in an array.
    if you need more precise browser information, get our full featured browser detection script:
    http://TechPatterns.com/downloads/br...ion_php_ar.txt
    
    Changes:
    1.1.8 - fixed small error in sample code at end, msie should be ie
    1.1.7 - Added default 'other' return item that will cover search spiders and other useragents
    */
    
    
    function browser_detection( $which_test ) 
    {
    	// initialize variables
    	$browser_name = '';
    	$browser_number = '';
    	// get userAgent string
    	$browser_user_agent = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
    	//pack browser array
    	// values [0]= user agent identifier, lowercase, [1] = dom browser, [2] = shorthand for browser,
    	$a_browser_types[] = array('opera', true, 'op' );
    	$a_browser_types[] = array('msie', true, 'ie' );
    	$a_browser_types[] = array('konqueror', true, 'konq' );
    	$a_browser_types[] = array('safari', true, 'saf' );
    	$a_browser_types[] = array('gecko', true, 'moz' );
    	$a_browser_types[] = array('mozilla/4', false, 'ns4' );
    	# this will set a default 'unknown' value
    	$a_browser_types[] = array('other', false, 'other' );
    
    	$i_count = count($a_browser_types);
    	for ($i = 0; $i < $i_count; $i++)
    	{
    		$s_browser = $a_browser_types[$i][0];
    		$b_dom = $a_browser_types[$i][1];
    		$browser_name = $a_browser_types[$i][2];
    		// if the string identifier is found in the string
    		if (stristr($browser_user_agent, $s_browser)) 
    		{
    			// we are in this case actually searching for the 'rv' string, not the gecko string
    			// this test will fail on Galeon, since it has no rv number. You can change this to 
    			// searching for 'gecko' if you want, that will return the release date of the browser
    			if ( $browser_name == 'moz' )
    			{
    				$s_browser = 'rv';
    			}
    			$browser_number = browser_version( $browser_user_agent, $s_browser );
    			break;
    		}
    	}
    	// which variable to return
    	if ( $which_test == 'browser' )
    	{
    		return $browser_name;
    	}
    	elseif ( $which_test == 'number' )
    	{
    		# this will be null for default other category, so make sure to test for null
    		return $browser_number;
    	}
    
    	/* this returns both values, then you only have to call the function once, and get
    	 the information from the variable you have put it into when you called the function */
    	elseif ( $which_test == 'full' )
    	{
    		$a_browser_info = array( $browser_name, $browser_number );
    		return $a_browser_info;
    	}
    }
    
    // function returns browser number or gecko rv number
    // this function is called by above function, no need to mess with it unless you want to add more features
    function browser_version( $browser_user_agent, $search_string )
    {
    	$string_length = 8;// this is the maximum  length to search for a version number
    	//initialize browser number, will return '' if not found
    	$browser_number = '';
    
    	// which parameter is calling it determines what is returned
    	$start_pos = strpos( $browser_user_agent, $search_string );
    	
    	// start the substring slice 1 space after the search string
    	$start_pos += strlen( $search_string ) + 1;
    	
    	// slice out the largest piece that is numeric, going down to zero, if zero, function returns ''.
    	for ( $i = $string_length; $i > 0 ; $i-- )
    	{
    		// is numeric makes sure that the whole substring is a number
    		if ( is_numeric( substr( $browser_user_agent, $start_pos, $i ) ) )
    		{
    			$browser_number = substr( $browser_user_agent, $start_pos, $i );
    			break;
    		}
    	}
    	return $browser_number;
    }
    
    
    /* sample:
    include('browser_detection.php');
    $a_browser_data = browser_detection('full');
    if ( $a_browser_data[0] !== 'ie' )
    {
    	execute the non msie conditions
    }
    else // if it is msie, that is
    {
    	if ( $a_browser_data[1] >= 5 )
    	{
    		execute the ie stuff
    	}
    }
    */
    ?>
    Dsp en las paginas tenemos que poner esto en la seccion de head (suponiendo que el codigo php esta en la misma carpeta y se llama browser_detection):
    Código:
    <head>
    <?
    include 'browser_detection.php';
    $a_browser_data = browser_detection('full');
    ?>
    <link rel="stylesheet" href="<? echo $a_browser_data[0];?>.css" type="text/css" media="all">
    </head>
    Ahi tenemos la variable $a_browser_data que es un array, donde distinguimos la variable $a_browser_data[0] que es el nombre del explorador (ie para Internet explorer, moz para el mozila, no me acuerdo los demas).
    Y $a_browser_data[1] que nos da el numero de vercion del explorador.
    Creamos los estilos distintos, uno llamado ie.css para el Internet Explorer otro llamado moz.css para el mozila y asi sucecivamente para cada explorador.

    Finalmente, se nos acabaron los problemas con las diferentes vistas para cada explorador :D.

    Espero que les sirva. Saludos.

    Fuente: http://techpatterns.com/downloads/ja..._detection.php
    http://kck.coolpage.biz --- Pagina Sobre el Age of empires II :D

    http://www.des-aburrite.com.ar --- Una pagina para lo que quieras :D

    http://anti-flogger.freetzi.com --- Entra y veras ;). Pagina muy interesante :D

Temas Similares

  1. Hojas de estilo
    Por isadora en el foro Formularios
    Respuestas: 4
    Último Mensaje: 21/09/2006, 13:44

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •