昨天一个同事问我,进入到一个页面后,这个时候不进行任何操作,然后15分钟后就自动退出登录,这个功能怎么实现?

电脑进入待机状态原理

说到这个问题,我觉得这个问题 和 电脑长时间未操作进入待机状态是一个原理,于是查了一下,发现 电脑待机原理其实并不是在应用层进行控制的,而是通过相关电压和电流的判断来让电脑进入待机状态的。

自动退出登陆是什么原理呢?

其实不然,自动退出 主要是通过 判断键盘 鼠标有没有操作 来判断电脑的状态的。

所以具体原理: 获取 鼠标 和键盘 onmousemove 和 onkeydown 两个事件最后一次操作时间 。 这个时候你需要设置一个超时时间,接下来在判断两个事件最后一次的时间,和当前时间相比较。如果这个时间大于你设置的 这个时间,则说明这个时候已经很久没有操作电脑了,你可以选择让用户退出登陆了。

<html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>页面无任何操作30秒后退出</title> <script language="JavaScript">var timerIdle=0;   //空闲时间
var timerBusy=0;   //倒计时开始
var timerIdle1=5;  //系统参数定义超时时间
var timerBusy1=30; //退出时间function timerTimeout(){timerIdle++;if (timerIdle>timerIdle1){if (timerBusy==0){timerBusy=timerBusy1+1;//view timerUIdocument.getElementById("timerUI").style.display="inline";   }timerBusy--;//view timerBusydocument.getElementById("_timerBusy").innerHTML=timerBusy;if (timerBusy<=0){timerExit();return;}}else{timerBusy=0;}window.setTimeout("timerTimeout()",1000);
}function timerUser(){//让div消失timerIdle=0;document.getElementById("timerUI").style.display="none";}function timerExit(){//超时处理.这里可以写自己需要执行的方法...document.getElementById("_timerBusy").innerHTML="Timeout";}window.setTimeout("timerTimeout()",1000);function mouseMove(ev){ev= ev || window.event;timerUser();var mousePos = mouseCoords(ev);}function mouseCoords(ev){if(ev.pageX || ev.pageY){return {x:ev.pageX, y:ev.pageY};}return {x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,y:ev.clientY + document.body.scrollTop - document.body.clientTop};
}document.onmousemove = mouseMove;document.onkeydown = mouseMove;</script> </head> <body> <div id="timerUI" style="position:absolute; left:30px; top:30px; font-size:20px;"> <table width="300" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td nowrap="" align="right" id="_timerBusy" style=" font-size:36px; font-weight:bold; color:#FF0000;"></td> <td nowrap="" align="left">&nbsp;秒后将退出系统</td> </tr> <tr> <td nowrap="" align="right"></td> <td nowrap="" align="right"></td> <td nowrap="" align="left">&nbsp;如继续操作点任意键即可</td> </tr> <tr> <td nowrap="" align="right"></td> <td nowrap="" align="right"></td> <td nowrap="" align="left">&nbsp;(系统检测到您长时间未进行任何操作,为保护您的信息安全将自动退出)</td> </tr> </tbody></table> </div>  </body>
</html>

原生js制作页面长时间未操作退出登录相关推荐

  1. VUE实现长时间未操作退出登录

    背景:在现在大多系统中,为了保障用户的安全,都会有固定时间未操作则自动退出登录的功能,这里根据我目前了解的内容大致实现一个简单的. 我的想法是这样,通过对定时器setTimeOut的使用,来进行倒计时 ...

  2. 页面长时间未操作,实现自动退出登录原理

    项目场景: 页面长时间未操作的时候,会自动退出登录,并且提示你的登录已过期,需重新登录.那这个是怎么实现的呢? 两种方案 第一种是完全由后端实现的,后台在servlet可以获取到session,可以设 ...

  3. web 页面长时间未操作自动退出方法(自动退出登录)

    web 页面自动超时自动退出方法 思路: 使用 mouseover 事件来监测是否有用户操作页面,写一个定时器间隔特定时间检测是否长时间未操作页面,如果是,退出: 具体时间代码如下(js): var ...

  4. vue 上次登录时间_vue实现登录之后长时间未操作,退出登录

    效果如下: vue实现用户登录系统之后,长时间未操作,提示登录超时,直接退出登录,跳转至登录页面. app.vue: import {mapActions } from 'vuex'; import ...

  5. 如何处理电脑长时间未操作出现的假死?

    如何处理电脑长时间未操作出现的假死? 我们平时经常会遇到由于长时间未操作电脑,再使用时只有鼠标光标可以移动,桌面上的图标无法响应,包括任务栏的程序,那么我们应该怎么处理比较得当呢? 尝试使用光盘插拔动 ...

  6. vue 上次登录时间_Vue设置长时间未操作登录自动到期返回登录页

    Vue设置长时间未操作登录以后自动到期返回登录页 首先我们写在main.js文件中 import routerUtil from "@/utils/routerutil";//先将 ...

  7. php到期自动过期,PHP实现页面长时间无操作,自动过期函数

    PHP实现页面长时间无操作,自动过期函数 发布于 2015-01-13 19:55:41 | 878 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertex ...

  8. Mac电脑设置长时间不用自动退出登录

    如果你很懒每日工作后不想关机,尽管macOS可以设置自动休眠但是每天重新开机后,软件还是开启的,时间太久电脑容易变卡,怎么设置让电脑休眠后退出登录达到重启的效果呢? 小编教你怎么设置macOSMac电 ...

  9. 页面停留长时间不操作,一定时间退出系统

    let lastTime = new Date().getTime() let currentTime = new Date().getTime() let timeOut = 30 * 60 * 1 ...

最新文章

  1. padding 不占宽高_不占地方的复式楼室内电梯,极致微型,节电省力颜值高
  2. Android之面试题精选,自己收藏下
  3. simulink显示多个数据_如何在 Simulink 中使用 PID Tuner 进行 PID 调参?
  4. LeetCode 605 种花问题
  5. 2020即将过去,数据库最好的时代已经到来!
  6. 正则提取Swagger在线文档里面的返回实体类字段
  7. MySQL orzdba、dodba、top、iostat、vmstat、perf等
  8. UnityGI2:Lightmaps
  9. C# internal和public
  10. 通信尾纤常用尾纤简介
  11. JavaScript表单验证
  12. 如何看oracle 删除完全,怎么查看以前Oracle卸载干净没?
  13. java数据库加密(druid)
  14. 解决Win7的一个毛病——睡眠失效(只关闭显示器,不关主机)
  15. vue 点击按钮实现随机颜色
  16. CISP证书有什么用
  17. 购买别人的域名回收别人废弃的域名
  18. 侍魂胧月传说辅助【有八鸽】侍魂胧月传说全能免费辅助脚本功能和使用说明
  19. 英文单词Advanced的意思
  20. gpart 分区工具

热门文章

  1. MySQL优化CPU消耗
  2. 【机器学习】特征工程七种常用方法
  3. 并发工具类(四)两个线程进行数据交换的Exchanger
  4. Python注释缩进不得当导致IndentationError: unexpected indent
  5. 并发编程—Volatile关键字
  6. AI会率先在汽车、安全和金融领域落地!不服来辩 | AI科技评论
  7. React系列---Webpack环境搭建(二)不同环境不同配置
  8. Win10 Build 11099和11102的更动超过1200项
  9. JSON-RPC、XML-RPC、SOAP三者的关系
  10. ES6 WeakSet数据结构 与Set十分相似