1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Fix page reload on return

`popstate` event cannot be captured, but we need to process
it before `page` node module.
This commit is contained in:
Dmitry Lyzo 2022-02-25 20:25:08 +03:00
parent a71ed46afb
commit fd0532f193

View file

@ -34,15 +34,20 @@ class AppRouter {
constructor() {
// WebKit fires a popstate event on document load
// Skip it using timeout
// Skip it using boolean
// For Tizen 2.x
// https://stackoverflow.com/a/12214354
window.addEventListener('load', () => {
setTimeout(() => {
window.addEventListener('popstate', () => {
this.popstateOccurred = true;
});
}, 0);
// See `page` node module
let loaded = document.readyState === 'complete';
if (!loaded) {
window.addEventListener('load', () => {
setTimeout(() => {
loaded = true;
}, 0);
});
}
window.addEventListener('popstate', () => {
if (!loaded) return;
this.popstateOccurred = true;
});
document.addEventListener('viewshow', () => this.onViewShow());