我正在开发 ASP.NET Core Web 应用程序,我想获得用户空闲时间。如果用户没有工作/与应用程序交互超过 20 分钟,我想抛出一条消息“用户空闲了 20 分钟”。
我如何实现这一目标?
我建议使用 javascript 解决方案,因为我们需要跟踪客户端用户交互。
ex 用户空闲 5 秒。
let idletime;
const resetIdleTime = ()=> {
console.log('Clearing out the idle time');
console.log(new Date(Date.now()).toISOString());
clearTimeout(idletime);
idletime = setTimeout(trackIdleTime, 5000);
}
const trackIdleTime = ()=> {
console.log(new Date(Date.now()).toISOString());
console.log('Do required things when session is idle');
}
resetIdleTime();
document.onmousemove = resetIdleTime;
document.onkeypress = resetIdleTime;