此代码本质上与以下代码相似:
但是,我在这里尝试完成的是在文档上的任何用户活动时重置此 10 秒计时器。对于我的测试,我目前正在使用 keyup,但我还需要通过将鼠标移动到文档中的任何元素等来完成这项工作。
这是代码,请参阅注释代码以了解我将要进行的潜在更改,我将它们留下注释,因为我发现它们并没有真正起作用:
$(function(){
//var keyed = false;
function myFunction() {
window.location.href="/backoffice/logout.jsp?forceClose=true";
}
(function() {
//Just under 15 min in milliseconds
//var time = 895000,
var time = 10000,
delta = 100,
tid;
tid = setInterval(function() {
if ( window.blurred ) { return; }
time -= delta;
//if ( keyed ) {
// time = 10000;
//}
//keyed = false;
if ( time <= 0 ) {
clearInterval(tid);
myFunction(); // time passed - do your work
}
}, delta);
})();
//window.onkeyup = function() { keyed = true; };
window.onblur = function() { window.blurred = true; };
window.onfocus = function() { window.blurred = false; };
});
当然我不明白如何让它在实践中发挥作用,但希望我的思维过程很清楚,我正在努力做到这一点,以便活动选项卡也能监听按键或鼠标点击(甚至可能是鼠标移动),如果是这种情况,请重置计时器。
有没有人有任何建议来完成这个?