Tengo una URL basada en hash (p. ej www.dummy.com#/hello/welcome ), quiero activar el código javascript cuando /welcome cambie a /start (p. ej www.dummy.com#/hello/start ).
El siguiente es el código que probé pero no funciona.
window.addEventListener("hashchange",function() { alert('The hash has changed!'); },false);El evento hashchange solo ocurre cuando cambia el hash, por lo que si solo escribe la URL y presiona enter, no sucede nada. Por lo tanto, debe manejar más casos: 1) los cambios de hash, 2) el usuario escribe la URL y 3) el botón de avance/retroceso del historial se usa para navegar a la página.
const eitherhashorload = e => { let hash = location.hash.substring(1); if(!hash){ location.hash = 'welcome'; return; } console.log(hash); }; window.addEventListener("hashchange", eitherhashorload); document.addEventListener('DOMContentLoaded', eitherhashorload); <p><a href="#start">Start</a> - <a href="#end">End</a></p>