History API
El History API nos permite cambiar la URL del navegador sin refrescar la página, ver el número de URL's visitadas (la historia) y navegar por la historia de URL's (ir atrás o adelante).
El History API es muy útil en aplicaciones que nunca se refrescan, también conocidas como SPAs (Single Page Applications).
El objeto principal para utilizar el History API se llama
history
.Para cambiar la ruta de la URL utiliza los métodos
pushState
y replaceState
de history
.La diferencia entre los dos métodos es que
pushState
agrega una entrada a la historia de URLs mientras que replaceState
reemplaza la última entrada.pushState
y replaceState
reciben tres argumentos: un objeto, un título y la nueva ruta.// agrega una ruta /users a la historia de la sesión
history.pushState(null, null, "users");
Puedes abrir la consola en las herramientas del desarrollador y ejecutar esa línea sobre cualquier sitio o aplicación Web. La ruta de la URL debería cambiar a
/users
.Para navegar en la historia utiliza los métodos
back
y forward
del objeto history
. Es lo equivalente a oprimir el botón atrás o adelante del navegador.// equivalente a oprimir el botón de atrás del navegador
history.back();
// equivalente a oprimir el botón de adelante del navegador
history.forward();
Cuando una persona oprime el botón atrás o adelante, o se ejecutan los métodos
back
y forward
del history,
se dispara el evento popstate
sobre window
:window.onpopstate = function(e) {
alert("location: " + document.location + ", state: " + JSON.stringify(e.state));
};
Last modified 2mo ago