如何用js判断用户长时间无操作
warning:
这篇文章距离上次修改已过444天,其中的内容可能已经有所变动。
在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函数,重置闲置计时器。
评论已关闭