如何使用JavaScript/jQuery检测用户当前是否活动在页面上?

14 浏览
0 Comments

如何使用JavaScript/jQuery检测用户当前是否活动在页面上?

我需要在用户在当前页面上超过30分钟没有点击或输入时检测到用户处于不活动状态。

我认为最好的方法是使用附加在body标签上的事件冒泡,然后只需重置一个30分钟的计时器,但我不太确定如何创建这个计时器。

我可以使用jQuery,尽管我不确定这个功能实际上会使用多少jQuery。

编辑:我更需要知道他们是否在积极使用该网站,因此点击(更改字段或字段内位置或选择复选框/单选按钮)或输入(在输入框、文本区域等中)。如果他们在另一个标签页或使用另一个程序,则我的假设是他们没有使用该网站,因此出于安全原因应该注销。

编辑#2:所以大家清楚,这完全不是为了确定用户是否已登录、经过身份验证或其他任何内容。目前,如果用户在30分钟内没有发出页面请求,服务器会将其注销。这个功能是为了防止有人花费超过30分钟的时间填写表格,然后提交表单才发现他们没有被注销。因此,这将与服务器端结合使用,以确定用户是否处于不活动状态(没有点击或输入)。基本上,当用户闲置25分钟后,系统将弹出一个对话框要求输入密码。如果他们在5分钟内没有输入密码,系统将自动注销他们,并且服务器的会话也将被注销(下次访问页面时,和大多数网站一样)。

JavaScript只是用作对用户的警告。如果JavaScript被禁用,那么他们将无法收到警告,并且(与网站的大部分功能不可用一样)下次请求新页面时将被注销。

0