javascript - 检测用户是活动还是空闲
问题描述
我正在构建一个浏览器扩展并想检测用户是否处于活动状态。因此,我检查用户是否在过去 2 分钟内移动了鼠标。
但是,为了获得更好的结果,我想同时跟踪多个事件。用户在最后两分钟内是否移动了鼠标、进行了单击事件或滚动。
这是我检测鼠标移动的代码:
document.onmousemove = function() {
clearTimeout(timeout);
timeout = setTimeout(function() {
// user is idle
}, 120000);
};
如何改进代码以一次跟踪多个事件?
解决方案
这行得通吗?
var timeout;
function idle(){
//idle things
}
document.onmousemove = function() {
clearTimeout(timeout);
timeout = setTimeout(idle(), 120000);
};
document.onscroll = function() {
clearTimeout(timeout);
timeout = setTimeout(idle(), 120000);
};
//continue with other events
推荐阅读
- node.js - 如何使用 Docker 在我的 CI 中运行 jshint
- python - 如何在 Django 中为 ManyToManyField 设置默认值
- laravel - 在 CMS 十月我如何保存所有电子邮件的系统日志文件
- r - 哪个语句具有多个条件在现有列中创建新值
- javascript - Vuejs 在代码中显示原始语法而不是呈现内容
- android - Android ffmpeg 组合多个命令
- c++ - 在模板中使用基类接口
- mysql - 无法使用 AND 条件获得结果
- kubernetes - 如何避免在 AKS 中自动节点缩减时最后一个 pod 被杀死
- android - Android 4.4 锁定任务模式