gpt4 book ai didi

javascript - 如果用户当前在页面上处于事件状态,我如何使用 JavaScript/jQuery 进行检测?

转载 作者:IT王子 更新时间:2023-10-29 03:15:21 26 4
gpt4 key购买 nike

我需要检测用户何时在当前页面上处于非事件状态(未单击或键入)超过 30 分钟。

我认为最好使用附加到 body 标签的事件冒泡,然后持续重置计时器 30 分钟,但我不确定如何创建它。

我有可用的 jQuery,尽管我不确定其中有多少会实际使用 jQuery。

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

编辑 #2: 所以每个人都清楚,这根本不是为了确定用户是否已登录、是否已通过身份验证或其他任何事情。现在,如果用户在 30 分钟内没有发出页面请求,服务器会将用户注销。此功能可防止有人花费超过 30 分钟填写表格然后提交表格时才发现他们尚未注销。因此,这将与服务器站点结合使用以确定用户是否处于非事件状态(未单击或键入)。基本上,交易是在闲置 25 分钟后,他们将看到一个对话框,要求他们输入密码。如果他们在 5 分钟内不这样做,系统会自动将他们注销,同时注销服务器的 session (与大多数网站一样,下次访问页面时)。

Javascript 仅用作对用户的警告。如果 JavaScript 被禁用,那么他们将不会收到警告,并且(连同大部分网站无法正常工作)他们将在下次请求新页面时注销。

最佳答案

这是我想出来的。它似乎适用于大多数浏览器,但我想确保它始终适用于任何地方:

var timeoutTime = 1800000;
var timeoutTimer = setTimeout(ShowTimeOutWarning, timeoutTime);
$(document).ready(function() {
$('body').bind('mousedown keydown', function(event) {
clearTimeout(timeoutTimer);
timeoutTimer = setTimeout(ShowTimeOutWarning, timeoutTime);
});
});

有人看到任何问题吗?

关于javascript - 如果用户当前在页面上处于事件状态,我如何使用 JavaScript/jQuery 进行检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com