Pregunta

Estoy desarrollando un sistema que es 100% ajax, excepto, por supuesto, la primera solicitud.

Estoy interesado en el cambio de la dirección en document.location, usando javascript. Pero no quiero que el navegador para cargar la página en la que "nueva" ubicación.

¿Alguien sabe cómo puedo hacer esto?

¿Fue útil?

Solución

Para volver a escribir todo el lugar y no sólo el "control" parte, el navegador API de la historia se puede utilizar, aunque en la actualidad sólo parece ser Implementado en Gecko 1.9.3 / Firefox 4 .

history.replaceState({}, document.title, url)

Otros consejos

Cambiar la dirección URL completa sin tener que navegar no es posible, sólo imaginar el problemas de seguridad que podría generar.

Se puede cambiar sólo el location.hash, que es la parte de la URL que sigue al símbolo #:

location.hash = "foo";

Su URL cambiará a http://someurl.com/#foo

Se puede utilizar el mismo método que utiliza Gmail. Anexar un ancla al final de la URL, el navegador no se debe recargar la página, pero se puede leer la información en document.location.href y actuar en consecuencia. Esto también mantener la funcionalidad del botón de retroceso intacta (que proporciona a sus soportes de javascript que)

por ejemplo

primera página es http://www.mypage.com/index.php hace clic a la "página" siguiente usando <a href="#page2">link</a> y cambia a http://www.mypage.com/index.php#page2

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top