如何检查JavaScript中的URL是否已更改?例如,使用AJAX的GitHub等网站会在#符号后附加页面信息,以创建唯一的URL而无需重新加载页面.检测此URL是否更改的最佳方法是什么?
onload再次调用事件?我想听听不是我维护的 SPA 中的路径变化。
我在这里找到了一个解决方案:https : //stackoverflow.com/a/44819548/7042552
但是,对我来说似乎有点“hacky” - 但我的实现仍然是这样的:
let url = window.location.href;
['click','popstate', 'onload'].forEach( evt =>
window.addEventListener(evt, function () {
requestAnimationFrame(()=>{
if (url !== location.href) {
// do stuff
}
url = location.href;
});
}, true)
);
Run Code Online (Sandbox Code Playgroud)
是否有更好或更通用的方法来监听 SPA 中的页面加载?