Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/12/2011, 20:24
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Por qué la URL de Twitter tiene un #!

No tomes mi explicación como la regla, porque puedo estar equivocado, pero el motivo es AJAX.

Uno de los problemas con los que se encontraron los primeros sitios que hicieron diseños dependientes de AJAX, o al menos navegables sin necesidad de recargar páginas, fue el hecho de que las páginas cargadas mediante Javascript no se pueden agregar a favoritos, dado que en realidad la URL de la página no cambia (lo que cambia es su contenido) y por lo tanto la dirección que se guarda en marcadores o favoritos es la dirección de la página inicial. Algo similar ocurre cuando se usan marcos (frames).

La solución que se encontró a este problema es hacer que con cada nueva carga mediante AJAX, la URL cambie. De este modo, se puede guardar la URL correcta en favoritos.
Pero no se puede indicar al navegador que cambie la URL con Javascript, se lo forzaría a recargar la página y justamente eso es lo que se intenta evitar.

Entonces, en vez de dar una URL completamente nueva, se agrega una nueva etiqueta a una URL base. Esto es, de la misma forma en que un enlace de la forma "index.html#id3" posiciona al navegador en el elemento con id="id3", un enlace de la forma que mostrás le indica al navegador que vaya a twitter.com/ y se posicione en un elemento con id "!/username", que por supuesto el servidor reconocerá en la URL y proveerá de acuerdo al contenido.

O sea: es una solución elegante a un problema tecnológico


Saludos.