Foros del Web » Programando para Internet » Javascript »

Carga de direcciones en campo del navegador.

Estas en el tema de Carga de direcciones en campo del navegador. en el foro de Javascript en Foros del Web. Hola a todos, llevo tiempo con una duda que no tengo muy claro como resolver, y es hacer como hace facebook, que seleccionas una sección, ...
  #1 (permalink)  
Antiguo 27/04/2012, 14:07
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Carga de direcciones en campo del navegador.

Hola a todos, llevo tiempo con una duda que no tengo muy claro como resolver, y es hacer como hace facebook, que seleccionas una sección, y te carga esa sección en una capa (supongo que mediante ajax), pero al mismo tiempo, te cambia la dirección del navegador, de forma que si le das a actualizar, te actualiza la página con la sección esa en concreto y no la principal de facebook.

Alguien sabe como se hace, u orientarme?

Saludos. ;)

P.D: Creo que la pregunta va en está sección. No obstante, si los moderadores lo creen pertinente, que cambien la pregunta a la sección correspondiente.
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #2 (permalink)  
Antiguo 27/04/2012, 14:20
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 14 años, 6 meses
Puntos: 36
Respuesta: Carga de direcciones en campo del navegador.

Pues con javascript según hasta donde se no es posible, no creo que así sea el funcionamiento de FB, después me fijo bien, de que cargue la sección solo con ajax y cambie la url tmb..
  #3 (permalink)  
Antiguo 27/04/2012, 19:17
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Respuesta: Carga de direcciones en campo del navegador.

Entonces si no es con javascript, con que es, y como se podría hacer?
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #4 (permalink)  
Antiguo 28/04/2012, 13:03
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Carga de direcciones en campo del navegador.

http://developer.yahoo.com/yui/examp...ry-navbar.html

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 28/04/2012, 17:45
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 21 años, 5 meses
Puntos: 11
Respuesta: Carga de direcciones en campo del navegador.

Gracias por las respuestas, pero ya encontre un código de ejemplo, que hace exactamente lo que quiero, y es compatible con todas las versiones de navegadores que he probado.

Código:
<!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>
  <title>PushState</title>
    <script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script><!-- Actualizar -->
    <script>
    $(document).ready(function() {
        // Para navegadores que soportan la función.
        if (typeof window.history.pushState == 'function') {
            pushstate();            
        }else{
            check(); hash();
        }
    });
    // Chequear si existe el hash.
    function check(){
        var direccion = ""+window.location+"";
        var nombre = direccion.split("#!");
        if(nombre.length > 1){
            var url = nombre[1]; 
            //alert(url);
        }
    }
    
    function pushstate(){
        var links = $("a");
        // Evento al hacer click.
        links.live('click', function(event) {
            var url = $(this).attr('href');
            // Cambio el historial del navegador.
            history.pushState({ path: url }, url, url);
            // Muestro la nueva url
            //alert(url);
            return false;
        });
        
        // Función para determinar cuando cambia la url de la página.
        $(window).bind('popstate', function(event) {
            var state = event.originalEvent.state;
            if (state) {
                // Mostrar url.
                //alert(state.path);
            }
        });
    }
    
    function hash(){
        // Para i.e
        // Función para determinar cuando cambia el hash de la página.
        $(window).bind("hashchange",function(){
            var hash = ""+window.location.hash+"";
            hash = hash.replace("#!","")
            if(hash && hash != ""){
                //alert(hash);
            }
        }); 
        // Evento al hacer click.
        $("a").bind('click', function(e) {
            e.preventDefault();
            var url = $(this).attr('href');
            // Cambio el historial del navegador.
            window.location.hash = "#!"+url;
            //$(window).trigger("hashchange");
            return false
        });
    }
    </script>  
  </head>
  <body>
    <a href="e1.php">help</a>
    <a href="e5.php"> Otro link</a>
  </body>
</html>
Saludos.
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)

Etiquetas: ajax, direcciones, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:32.