在 location.href 重定向到 # 参数执行代码

On location.href redirect to # parameter execute code

这个问题与这个问题类似,但是我的重定向是到同一个页面,但是这里有一个#parameter。例如,我在 example.com 中,location.href 更改为 example.com/#1,然后 example.com/#2,依此类推。

我写了这个函数:

window.onload = function () {
    header.classList.remove("sticky");
};

但是没有执行,因为DOM没有重新加载...内部URL改变后如何执行这段代码?

使用 onhashchange 事件处理程序 (MDN):

window.onhashchange = function () {
    header.classList.remove("sticky");
};