Símbolo '#' de navegación de la página Ajax

He prestado atención a Google

 https://mail.google.com/mail/?shva=1#inbox

Particularmente a #bandeja de entrada

Esta URL se puede marcar, ¿cómo se puede lograr esto?

preguntado el 03 de mayo de 12 a las 14:05

La pagina en mail.google.com/mail simplemente verifica la etiqueta hash con JavaScript una vez que se carga y luego modifica la página de forma asíncrona para mostrar el contenido de la "Bandeja de entrada". No es exactamente así de sencillo, ya que emplean otros mecanismos para no romper el botón de retroceso y mantener el historial. -

1 Respuestas

Debido a que está siendo procesado por Javascript a través de llamadas Ajax, que tienen en cuenta lo que hay dentro de la cadena de consulta.

Un ejemplo para ubicar en Javascript todas las etiquetas # es:

urlquery=location.href.split("#");

Entonces, cuando se carga por primera vez una página que contiene ese tipo de enlaces, los enlaces en la página se generan con # anclas que, cuando se hace clic, cambian la dirección de la ubicación, pero no hacen que la página se vuelva a cargar, ya que es un ancla a la página actual. Luego, javascript se engancha al evento de clic y hace el trabajo real de cargar el contenido real a través de Ajax.

Pero, dado que la dirección ha cambiado en la barra de direcciones, puede guardarla en un marcador. Cuando se carga ese marcador, carga una web barebone con javascript para detectar nuevamente qué etiquetas están en la dirección con #, y luego carga a través de Ajax el contenido real.

Es por eso que, por ejemplo, la miniatura de la página de Twitter en Google Chrome siempre muestra una interfaz sin mensajes, porque cuando se genera esa miniatura, el Ajax aún no ha cargado el contenido.

contestado el 03 de mayo de 12 a las 14:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.