2018-02-10 21:57:04 +00:00
|
|
|
// hacky way to listen for pushState/replaceState changes
|
|
|
|
// per https://stackoverflow.com/a/25673911/680742
|
|
|
|
|
|
|
|
function wrapper (type) {
|
|
|
|
let orig = history[type]
|
|
|
|
return function () {
|
|
|
|
let result = orig.apply(this, arguments)
|
|
|
|
let e = new Event(type)
|
|
|
|
e.arguments = arguments
|
|
|
|
window.dispatchEvent(e)
|
|
|
|
return result
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (process.browser) {
|
|
|
|
history.pushState = wrapper('pushState')
|
|
|
|
history.replaceState = wrapper('replaceState')
|
2018-02-11 17:37:13 +00:00
|
|
|
}
|