使用javascript检测用户是否在网页上没有进行任何活动

时间:2013-02-18 04:46:51

标签: javascript html

我想向用户显示一个弹出窗口,如果他在网页上没有做任何鼠标点击/键盘按下/鼠标滚动

我有什么方法可以使用javascript跟踪这个吗?

3 个答案:

答案 0 :(得分:2)

var timeout = false;
function checkActivity() {
    clearTimeout(timeout);
    timeout = setTimeout(function () { alert('inactive'); }, AmountOfTime);
}
document.addEventListener('keydown', checkActivity);
document.addEventListener('mousedown', checkActivity);
document.addEventListener('mousemove', checkActivity);
checkActivity();

这样做是在AmountOfTime毫秒后运行一个函数。它会在文档上的任何用户活动中重置。

答案 1 :(得分:0)

您可以在JavaScript中处理Keyboard EventsMouse Events

您可以让计时器倒计时到应该向用户显示该消息,并在您获得符合条件的事件时重置计时器。

答案 2 :(得分:0)

如果用户空闲,您可以使用此(库)[https://github.com/mikesherov/jquery-idletimer]来检测。

示例:

$(document).on('idle.idleTimer', function() {
    //do something on idle;
    });
$(document).on('active.idleTimer', function() {
    //so something on activity;
    });
$(document).idleTimer(1000, {
    startImmediately: false,
    idle: true,
    enabled: true,
    events: 'keydown' //there are more events in the docs;
});