w3schools reescribir recargar limpiar example change cambiar javascript html5 browser-history

recargar - reescribir url javascript



cómo cambiar la URL sin cambiar el historial del navegador (1)

Está buscando replaceState() , reemplaza la posición actual en el historial en lugar de presionar una nueva, como pushState() hace

de MDN

history.replaceState() funciona exactamente como history.pushState() excepto que replaceState() modifica la entrada del historial actual en lugar de crear una nueva.

replaceState() es particularmente útil cuando desea actualizar el objeto de estado o la URL de la entrada del historial actual en respuesta a alguna acción del usuario.

Recuerde, algunas funciones no están disponibles en los navegadores más antiguos . Pero hay una library que podría ayudarte.

Hasta ahora, solo sé que si quiero cambiar la URL sin volver a cargar toda la página, tengo que usar la API de history navegador HTML.

Estoy usando este concepto en mi sitio web. Tomemos el ejemplo. Supongamos que el usuario está en esta página

https://www.example.com/aboutus

y luego va a la lista de productos en la que tenemos filtros. Al hacer clic en cualquier sistema de filtros, se genera una URL nueva como esta

https://www.example.com/products?brands[]=song&brands[]=samsung&condition[]=new

Internamente solo está llamando

history.pushState({}, ''Title'', link.href);

Pero, tiene un problema. Hacer clic back botón back lleva al filtro anterior. No quiero esta funcionalidad Quiero, al hacer clic en el botón Atrás del navegador, debería llevar a la página que está antes de current página current . En nuestro caso, se supone que llevar a

https://www.example.com/aboutus

Gracias.