我有一个带有分页和过滤器的单页面应用程序,需要检测当前URL何时发生更改。是否有一种简单的方法可将侦听器添加到当前URL并在其更改时触发某些内容?(也没有设置间隔!)
我既尝试了onhashchange,也尝试了unbeforeunload,但都与此无关。
window.onbeforeunload = function(e) {
alert ('url changed!');
};
window.onhashchange = function() {
alert ('url changed!');
}
有没有一种方法可以将侦听器添加到URL,并在URL发生任何更改时触发某些内容?(同样,单页应用程序,因此不刷新)
如果您不想使用setInterval,则可以覆盖该history.pushState
事件:
(function(history){
const pushState = history.pushState;
history.pushState = function(state) {
if (typeof history.onpushstate == "function") {
history.onpushstate({state: state});
}
// Call your custom function here
return pushState.apply(history, arguments);
}
})(window.history);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句