89.实现长时间不操作页面会自动退出到登录页面

该代码段创建了一个js文件(astrict.js),用于检测用户在页面上的活动。如果超过12小时无鼠标点击,脚本将清除cookie、localStorage和sessionStorage,并将用户重定向到登录页面。检测间隔为30秒。
摘要由CSDN通过智能技术生成

1.首先在assets文件夹内创建一个js文件(astrict.js),然后再在main.js文件引入

//  main.js 文件内:

 import Astrict from './assets/astrict.js';

2.以下就是astrict.js文件代码内容

// 设置最后时间

var lastTime = new Date().getTime()

// 设置当前时间

var currentTime = new Date().getTime()

// 设置超时时间:12小时

var timeOut = 12*60*60*1000

// 鼠标按下时更新最后时间

window.onload = function(){

        window.document.onmousedown = function(){

                localStorage.setItem("lastTime",new Date().getTime())

        }

}

// 判断是否超时方法

function checkTimeout () {

        // 更新当前时间

        currentTime = new Date().getTime()

        // 获取鼠标按下后的最后时间

        lastTime= localStorage.getItem("lastTime")

        // 判断是否超时

        if(currentTime - lastTime > timeOut){

                // 超时后会跳转到登录页面 所以需要清除cookie、localStorage和sessionStorage

                sessionStorage.clear()

                localStorage.clear()

                var keys = document.cookie.match(/[^ =;]+(?=\=)/g)

                if(keys){

                        for(var i = keys.length;i--){

                                document.cookie = keys[i] + '=0;path=/;expires=' + new Date(0).toUTCString();

                                document.cookie = keys[i] + '=0;path=/;domain=' + document.domain +';expires=' + new Date(0).toUTCString();

                                document.cookie = keys[i] + '=0;path=/;domain=kevis.com;expires=' + new Date(0).toUTCString();

                        }       

                }

                // 判断当前路径是否为登录,若不是则跳转到登录页面

                if(location.pathname !== '/Login'){

                        window.open('/login','_self')

                }

        }

}

// 定时器 间隔30s监测是否长时间未操作页面

window.setInterval(checkTimeout,30000)

 至此,该问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值