如何在jQuery中使用webkit的浏览器上检测空闲状态

时间:2013-03-07 03:22:33

标签: jquery

我找到了一个解决方案,可以在Detecting if the user is idle with JavaScript and YUI 3上的浏览器上检测用户的空闲状态。

它在FireFox上运行良好,但有时它并不适用于Chrome,Safari。用这些浏览器一直调用mousemove事件。

任何人都有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

我现在找到了解决方案。在idle-timer.js中,我将其更新如下 1 /搜索以下代码

var idle    = false,        //indicates if the user is idle
        tId     = -1,           //timeout ID
        enabled = false,        //indicates if the idle timer is enabled
        timeout = 30000;        //the amount of time (ms) before the user is considered idle

并在上面的下一行添加两行

prevMousePos = { x: -1, y: -1 };
        currentMousePos = { x: -1, y: -1 };

如果您的代码不起作用,您可以尝试使用event.screenX,event.screenY。

2 /替换此行

clearTimeout(tId);

if(e.type == 'mousemove'){
            currentMousePos.x = event.pageX;
            currentMousePos.y = event.pageY;
            if(currentMousePos == prevMousePos){
                enabled = false;
            }
            else{
                prevMousePos = currentMousePos;
                clearTimeout(tId);
            }
        }
        else if(e.type == 'mousemove'){
            clearTimeout(tId);
        }

    else if(e.type == 'keydown'){
        clearTimeout(tId);
    }