23 lines
745 B
JavaScript
23 lines
745 B
JavaScript
|
// https://stackoverflow.com/questions/6390341/how-to-detect-if-url-has-changed-after-hash-in-javascript
|
||
|
(() => {
|
||
|
let oldPushState = history.pushState;
|
||
|
history.pushState = function pushState() {
|
||
|
let ret = oldPushState.apply(this, arguments);
|
||
|
window.dispatchEvent(new Event("pushstate"));
|
||
|
window.dispatchEvent(new Event("locationchange"));
|
||
|
return ret;
|
||
|
};
|
||
|
|
||
|
let oldReplaceState = history.replaceState;
|
||
|
history.replaceState = function replaceState() {
|
||
|
let ret = oldReplaceState.apply(this, arguments);
|
||
|
window.dispatchEvent(new Event("replacestate"));
|
||
|
window.dispatchEvent(new Event("locationchange"));
|
||
|
return ret;
|
||
|
};
|
||
|
|
||
|
window.addEventListener("popstate", () => {
|
||
|
window.dispatchEvent(new Event("locationchange"));
|
||
|
});
|
||
|
})();
|