Me pregunto si hay una manera de saber (usando eventos) que la ruta ha cambiado. Investigué tanto onpopstate como onhashchange. Ambos no son lo que estoy buscando. Mis requisitos actuales son, en una aplicación de una sola página:
¿Son posibles con API nativas en el navegador?
Escuche el evento de load , que se activa cuando la página ha terminado de cargarse:
function code(){ console.log('page loaded') } window.addEventListener('load', code) Para escuchar los cambios de pushState , puede anular el comportamiento predeterminado pushState :
function trigger() { console.log('state change') } var pushState = history.pushState; history.pushState = function(state) { if (typeof history.onpushstate == "function") { history.onpushstate({state: state}); } trigger() return pushState.apply(history, arguments); }; history.pushState(null, null, '/endpoint')