Soñé con Chrome (canal de desarrollo) implementando una forma de actualizar la barra de direcciones a través de JavaScript (la ruta, no el dominio) sin volver a cargar la página o realmente lo han hecho.
Sin embargo, no puedo encontrar el artículo que creo haber leído.
¿Estoy loco o hay una manera de hacer esto (en Chrome)?
ps No estoy hablando de window.location.hash, et al. Si lo anterior existe, la respuesta a esta pregunta será falsa.
javascript
ajax
google-chrome
David Murdoch
fuente
fuente
Respuestas:
¡Ahora puede hacer esto en la mayoría de los navegadores "modernos"!
Aquí está el artículo original que leí (publicado el 10 de julio de 2010): HTML5: Cambiar la URL del navegador sin actualizar la página .
Para obtener una visión más detallada de pushState / replaceState / popstate (también conocido como HTML5 History API), consulte los documentos de MDN .
TL; DR, puedes hacer esto:
Vea mi respuesta para Modificar la URL sin volver a cargar la página para obtener un tutorial básico.
fuente
../new-url
o../../new-url
. Parecen hacer lo que usted esperaría en Chrome al menos.)Cambiar solo lo que está después del hash - navegadores antiguos
Cambio de URL completa. Chrome, Firefox, IE10 +
Lo anterior agregará una nueva entrada al historial para que pueda presionar el botón Atrás para ir al estado anterior. Para cambiar la URL en su lugar sin agregar una nueva entrada al historial, use
¡Intenta ejecutarlos en la consola ahora!
fuente
replaceState
era exactamente lo que necesitaba, gracias por ampliar la respuesta original.history.replaceState
agregar a la historia en ff 66.0b1La actualización de Davids responde incluso para detectar navegadores que no admiten pushstate:
fuente
fuente