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

Tema: Solucion a las diferencias con el firefox y el Ie

  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
    22

    Solucion a las diferencias con el firefox y el Ie

    Esta es la forma mas facil que encontre de hacer que en una pagina se vea bien en los dos exploradores. Esta tecnica se basa en usar un script php para que reconozca el explorador, y hojas de estilo especificas para cada explorador.
    Bueno, primero nececitamos el script 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
    	}
    }
    */
    ?>
    Este lo copiamos y lo subimos a nuestro servidor bajo el nombre de browser_detection.php.

    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>
    Finalmente crear dos hojas de estilo:
    1) Llamada ie.css para el internet explorer.
    2)moz.css para el Mozilla firefox.

    Y listo problema solucionado.
    Un ejemplo, mi pagina: http://tuspaginas.freetzi.com .
    Ahi si ven el codigo fuente, van a ver como cambia el nombre de la hoja de estilo al cual esta asociada la pagina segun el navegador que usar.

    Notas:
    1) 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 valores que adopta la variable para los demas demas).
    Y $a_browser_data[1] que nos da el numero de vercion del explorador.

    2) Esto no es una solucion magica, ni arreglara problemas de programacion. Esta solucion se basa en que los distintos exploradores interpretan de distinta manera un mismo codigo.
    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
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 feb, 08
    Ubicación
    En algun lugar al sur...
    Mensajes
    40
    Poder de Reputación
    22
    A nadie le parecio util?, por favor pruebenlo, asi se los problemas que tiene :P.

    Saludos.
    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

  3. #3
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    29 feb, 08
    Ubicación
    Lima-Perú
    Mensajes
    935
    Poder de Reputación
    26
    Pues la verdad .. q no lo uso pork mi web es compatible.. pero eso es php.. uhmm eh visto algunas paginas con estos codigos...

  4. #4
    Me va gustando esto... Habitante
    Fecha de Ingreso
    24 abr, 08
    Mensajes
    47
    Poder de Reputación
    22
    Creo que es un poco inutil....debido a que "facilmente" se puede hacer "compatible" los dos navegadores, yo llevo trabajando con CSS y DIVS desde hace tiempo y la verdad es que si... te llevas quebraderos de cabeza y tal, pero con un poco de experiencia y práctica puedes solucionar las diferencias con rapidez.

    Por ejemplo, para que tome margenes distintos con CSS dependiendo de si es FIREFOX o IE se puede hacer de la siguiente forma:

    #id_cualquiera{
    margin-right:20px !important; /* esto lo cojerá el Firefox */
    margin-right:20px; /* esto lo cojerá el IE */
    }

    Así se podrá solucionar problemas de visualizacion y no tener que recurrir a ese grán codigo.

    Un saludo.

  5. #5
    Me va gustando esto... Habitante
    Fecha de Ingreso
    04 jun, 08
    Mensajes
    48
    Poder de Reputación
    21

    firefox

    hola que tal bueno yo lo puse recien y no me sirve no se si pude poner algo mal pero la cosa es que a hora ni mi pagina aparece sale un erro!!!
    como puedo lograr que mipagina se vea en ambos navegadores . necesito respuesta por favor

  6. #6
    Me va gustando esto... Habitante
    Fecha de Ingreso
    25 abr, 08
    Ubicación
    Mexico DF
    Mensajes
    100
    Poder de Reputación
    22
    bueno todo muy bien
    pero si nos visitan con opera o con safari???
    que hoja de estilos usara?

  7. #7
    Recien Llegado! Habitante
    Fecha de Ingreso
    15 abr, 09
    Mensajes
    22
    Poder de Reputación
    20
    yo voy a intentar hacer esto,, porque mi web se ve en las dos pero en ie se ve genial y en el mozilla se ve todo descolocado.

    enotnces voy a hacer lo que has puesto

    pero tengo una pekeña duda,, en el codigo ¿donde hay que cambiar ie o moz ?

    gracias de antemano
    eNe

  8. #8
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    17 may, 09
    Mensajes
    1
    Poder de Reputación
    0

    Quiero aprender a usar este Script.

    Me gustaría que nos enseñaras como usar el primer código paso a paso.

    1.. He creado el browser_detection.php en el directorio raiz.(Lo hice con un txt que le cambié la extensión)
    2.. he copiado en todos los heads el código.
    3.. he creado las diferentes CSS, moz.css, ie.css.

    Necesitaría saber si hay que cambiar algo del código, o agregarle algo. La verdad que no entiendo nada de esto porque soy muy nuevo, ni siquiera sé lo que es un script.

    Y realmente me hace falta una manera de arreglar la compatibilidad de navegadores con mi página.
    Yo diseñé con el Html-Kit, y en explorer se vé bien, pero no en Firefox.

    Espero respuesta porfavor. Gracias

  9. #9
    Me va gustando esto... Habitante
    Fecha de Ingreso
    16 dic, 08
    Mensajes
    148
    Poder de Reputación
    21

    no me aclaran nada

    no me entero, a ver, si en mi web es IE 6.0 se vé bien, ¿qué he de variar para hacerla compatible con el resto de navegadores, pero que no sea complicado?
    llevo un montón de tiempo preguntando sobre lo mismo pero nadie sabe cómo hacerlo..¿?
    Si te dan un pez, comerás un día.Si te enseñan a a pescar comerás todos los días.
    www.ecijaciudaddelsol.com
    que osadía la mía, si no sé ni escribir el código html...

  10. #10
    Recien Llegado! Habitante
    Fecha de Ingreso
    04 jul, 09
    Mensajes
    15
    Poder de Reputación
    20
    Podrías por favor, especificarme bien en dónde estarían las diferencias de los css. Es decir, que es lo que no tiene que tener el de iexplorer y si el de mozilla o viceversa.

    Es muy interesante lo que posteaste, saludos.

Temas Similares

  1. Diferencias en ie y en firefox
    Por sortxu en el foro Foro General
    Respuestas: 2
    Último Mensaje: 07/09/2011, 22:00

Permisos de Publicación

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