idle handling - treat the window being hidden as idle, even if the idle time wasn't reached
This commit is contained in:
parent
3d324a8730
commit
0b1957464b
13
code/idle.js
13
code/idle.js
@ -1,6 +1,7 @@
|
|||||||
// IDLE HANDLING /////////////////////////////////////////////////////
|
// IDLE HANDLING /////////////////////////////////////////////////////
|
||||||
|
|
||||||
window.idleTime = 0; // in seconds
|
window.idleTime = 0; // in seconds
|
||||||
|
window.isHidden = false;
|
||||||
|
|
||||||
var IDLE_POLL_TIME = 10;
|
var IDLE_POLL_TIME = 10;
|
||||||
|
|
||||||
@ -40,6 +41,18 @@ $('body').keypress(idleReset);
|
|||||||
$('body').mousemove(idleMouseMove);
|
$('body').mousemove(idleMouseMove);
|
||||||
|
|
||||||
window.isIdle = function() {
|
window.isIdle = function() {
|
||||||
|
if (window.idleTime < window.REFRESH) {
|
||||||
|
// if idle for less than the refresh time ignore 'hidden' state - likely initial page load in the background
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var hidden = (document.hidden || document.webkitHidden || document.mozHidden || document.msHidden);
|
||||||
|
if (hidden) {
|
||||||
|
// window hidden - force an idle state even if below the idle time limit
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// otherwise use the idle time limit
|
||||||
return window.idleTime >= MAX_IDLE_TIME;
|
return window.idleTime >= MAX_IDLE_TIME;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ window.requests._callOnRefreshFunctions = function() {
|
|||||||
startRefreshTimeout();
|
startRefreshTimeout();
|
||||||
|
|
||||||
if(isIdle()) {
|
if(isIdle()) {
|
||||||
console.log('user has been idle for ' + idleTime + ' seconds. Skipping refresh.');
|
console.log('user has been idle for ' + idleTime + ' seconds, or window hidden. Skipping refresh.');
|
||||||
renderUpdateStatus();
|
renderUpdateStatus();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user