Когда вы перезагружаете страницу, браузер не запускает событие hashchange
( MDN ), поэтому ваш код работает не так, как предполагалось. Вы можете использовать DOMContentLoaded
событие, чтобы поймать перезагрузки.
window.addEventListener('hashchange', yourCallbackFunction)
window.addEventListener('DOMContentLoaded', yourCallbackFunction)