javascript - without - window location history




Actualizar la barra de direcciones con una nueva URL sin hash o recargar la página (2)

Cambiando solo lo que está después de hash - navegadores antiguos

document.location.hash = 'lookAtMeNow';

Cambiando la URL completa. Chrome, Firefox, IE10 +

history.pushState('data to be passed', 'Title of the page', '/test');

Lo anterior agregará una nueva entrada al historial para que pueda presionar el botón Atrás para pasar al estado anterior. Para cambiar la URL en su lugar sin agregar una nueva entrada al uso del historial

history.replaceState('data to be passed', 'Title of the page', '/test');

Intenta ejecutar estos en la consola ahora!

O bien soñé con Chrome (canal de desarrollo) implementando una forma de actualizar la barra de direcciones mediante 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 existe lo anterior, la respuesta a esta pregunta será falsa.


La actualización a la respuesta de Davids para detectar incluso los navegadores no es compatible con pushstate:

if (history.pushState) {
  window.history.pushState("object or string", "Title", "/new-url");
} else {
  document.location.href = "/new-url";
}




google-chrome