Replaced ifvisible.js with simple drop-in to handle prefetch messages

This commit is contained in:
djmaze 2020-08-13 21:25:42 +02:00
parent 2f48128ff3
commit 382aef7ebb
6 changed files with 57 additions and 16 deletions

View file

@ -460,7 +460,6 @@ export const ContactPropertyType = {
*/
export const Magics = {
'EventWhichMouseMiddle': 3,
'ifvisibleIdle10s': 10,
'BitLength2048': 2048,
'BitLength1024': 1024,

46
dev/External/ifvisible.js vendored Normal file
View file

@ -0,0 +1,46 @@
(() => {
const doc = document,
visible = "visible",
wakeUp = () => {
clearTimeout(timer);
if (status !== visible) {
status = visible;
}
timer = setTimeout(() => {
if (status === visible) {
status = "idle";
dispatchEvent(new CustomEvent("idle"));
}
}, 10000);
};
var initialized = false,
status = visible,
timer = false;
function init() {
if (initialized) {
return true;
}
doc.addEventListener("visibilitychange", () => {
status = doc.visibilityState;
doc.hidden || wakeUp();
}, false);
initialized = true;
wakeUp();
doc.addEventListener("mousemove", wakeUp);
doc.addEventListener("keyup", wakeUp);
doc.addEventListener("touchstart", wakeUp);
addEventListener("scroll", wakeUp);
}
window.ifvisible = {
idle: callback => {
init();
addEventListener("idle", callback);
},
now: () => {
init();
return status === visible;
}
};
})();