Bugfix: Safari doesn’t fire the visibilitychange event as expected when visibilityState transitions to hidden

This commit is contained in:
djmaze 2020-11-23 16:44:34 +01:00
parent 1670ca0db1
commit 4986de6b93

View file

@ -16,13 +16,16 @@
timer = 0, timer = 0,
init = () => { init = () => {
init = ()=>{}; init = ()=>{};
// Safari
addEventListener('pagehide', status = "hidden");
// Else
doc.addEventListener("visibilitychange", () => { doc.addEventListener("visibilitychange", () => {
status = doc.visibilityState; status = doc.visibilityState;
doc.hidden || wakeUp(); doc.hidden || wakeUp();
}); });
wakeUp(); wakeUp();
["mousemove","keyup","touchstart"].forEach(t => doc.addEventListener(t, wakeUp)); ["mousemove","keyup","touchstart"].forEach(t => doc.addEventListener(t, wakeUp));
addEventListener("scroll", wakeUp); ["scroll","pageshow"].forEach(t => addEventListener(t, wakeUp));
}; };
this.ifvisible = { this.ifvisible = {