900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Angularjs实现用户长时间未操作自动退出登录

Angularjs实现用户长时间未操作自动退出登录

时间:2021-09-06 22:30:07

相关推荐

Angularjs实现用户长时间未操作自动退出登录

Angularjs实现用户长时间未操作自动退出登录

需求实现代码

需求

当用户超过半小时未操作页面,自动退出登录

实现

在入口文件中,设置一个定时器(退出登录),再添加一个全局的点击事件监听函数,当用户有了点击操作后,重置定时器,如果用户长时间未操作,则执行定时器中的退出登录操作

代码

1、在AngularJS的根控制器(myAppController)中,使用$document服务注册一个全局点击事件的监听器。

2、添加一个定时器,定时器内是退出登录的操作,每当监听到用户点击后,重置定时器

(function () {appModule.controller('myAppController', ['$scope', '$document',function ($scope, $document) {// 此处设置一个全局点击事件监听,用户超过半小时未操作,自动退出登录// 获取退出登录a标签(这是根据我的项目实现退出登录的方法,具体情况根据自己的项目来写)var btn = document.getElementById('btn-logout');// 设置一个定时器var timeout = setTimeout(() => {console.log('长时间未操作,我要退出啦')btn.click();}, 1800000)// 定义一个监听器,每点击一次,刷新定时器var clickListener = function (e) {// 先清除定时器clearTimeout(timeout);// 重置定时器timeout = setTimeout(() => {console.log('长时间未操作,我要退出啦')btn.click();}, 1800000)}// 注册全局点击事件监听器$document.on('click', clickListener);// 在控制器销毁时,取消全局点击事件监听器$scope.$on('$destroy', function () {$document.off('click', clickListener);});}]);})()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。