检测SPA中的URL更改

我想听取不是由我维护的SPA中的路径更改。

我在这里找到了一个解决方案:https://stackoverflow.com/a/44819548/7042552

但对我来说,它似乎有点老套--但我的实现仍然是这样的:

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)
    );

是否有更好或更通用的方法来侦听SPA中的页面加载?


解决方案

这个https://stackoverflow.com/a/41825103/7042552为我做了这项工作,真不敢相信我们在2018年仍然要使用这些黑客攻击。

相关文章