如何用js判断用户长时间无操作
warning:
这篇文章距离上次修改已过186天,其中的内容可能已经有所变动。
在JavaScript中,判断用户长时间无操作可以通过监听mousemove
、keydown
、touchstart
等事件来实现。以下是一个简单的示例,假设用户30秒内无操作则认为其长时间无操作:
let idleTimeout = 30000; // 30秒
let idleInterval = setInterval(checkIdleTime, 1000);
function checkIdleTime() {
idleTimeout = idleTimeout - 1;
if (idleTimeout < 0) {
console.log("用户长时间无操作");
// 执行需要的操作,比如提示用户注销等
clearInterval(idleInterval);
}
}
// 用户有操作时,重置计时器
document.addEventListener('mousemove', resetIdleTime);
document.addEventListener('keydown', resetIdleTime);
document.addEventListener('touchstart', resetIdleTime);
function resetIdleTime() {
idleTimeout = 30000; // 重置计时器
}
在上述代码中,我们设置了一个idleTimeout
变量来记录用户闲置的时间。通过setInterval
每秒调用checkIdleTime
函数来检查idleTimeout
是否减至0,若是则认为用户长时间无操作。用户的任何操作(如移动鼠标、按键或触摸屏)都会调用resetIdleTime
函数,重置闲置计时器。
评论已关闭