题目描述
浏览器如何监听用户几分钟无任何操作行为时退出登录,类似直播网站用户长时间无操作时关闭直播视频。
自己的思路
我一开始想到的就是使用定时器,监听鼠标和键盘的操作事件,记录最后一次操作的时间和上一次操作的时间做对比,如果超过了时间限制就使cookie过期。
但是我似乎看到过web直接提供了对应的API,之前在mdn查看web apis文档时看到过,检测用户是否无任何操作API。是否存在这样的api?还是我记错了。
你期待的结果是什么?
使用非定时器的方案实现监听用户一段时间无操作后退出登录。
###这个可以没有本地定时器,但一定有定时器,比如在服务器端处理计时,本地端只周期性去检测是否还需要登录。
###你记错了吧……
###随便搜搜就 有一大堆,你自己筛选下呗
https://www.cnblogs.com/Maryd...
https://blog.csdn.net/tangcc1...
- 监听键盘事件
- 监听鼠标移动事件
- 利用rxjs的防抖功能,在一定时间内未接收到新值时则触发logout方法。
this.xxxxSubject.asObservable().pipe(debounceTime(10 * 60 * 1000))
.subscribe(() => {
if (用户已登录) {
注销
}
});
监听事件(): void {
this.xxxSubject.next();
}