gpt4 book ai didi

javascript - 保持用户 session 事件的正确方法

转载 作者:行者123 更新时间:2023-11-28 04:30:12 24 4
gpt4 key购买 nike

我正在考虑创建一个执行以下操作的脚本:

每隔 X 分钟,检查用户是否输入了某些内容。如果有,则保持服务器端 session 处于事件状态(通过 AJAX 调用服务器端的一些无害操作)。如果没有,则什么都不做。

这是我想到的,但我想知道是否有更好的方法:

// This variable will keep track of when the user has typed.
var b = false;

$(document).on('keyup', function () {
console.log("Setting b to true.");
b = true;
});

setInterval(func, 5000);

function func()
{
if (b == true) {
console.log("Keeping alive!");
// Make AJAX call here.
}
b = false;
console.log(" Setting b to false.");
}

我愿意接受建议。

最佳答案

几年前,Paul Irish 用 jQuery 实现了一个空闲计时器。(基于 Nicholas C. Zakas 在 YUI [1] 中的内容)。您可以在 [2] 处查看他的文章,并在 [3] 处查看维护的 github 存储库

该方法与您的代码片段类似,为构成“事件”的任何内容设置事件监听器,并且为了防止事件淹没服务器,设置了一些计时器来确定何时对服务器执行 ping 操作。您可以在他们的代码中看到他们遇到了哪些特殊异常以及他们监听了哪些事件。

使用 Paul Irish 的空闲计时器,Eric Hynds 编写并实现了一个 jQuery 插件,用于通知用户 session 何时即将到期。不幸的是那篇文章已经消失了。代码似乎维护在 [4]

[1] https://humanwhocodes.com/blog/2009/06/02/detecting-if-the-user-is-idle-with-javascript-and-yui-3/

[2] https://www.paulirish.com/2009/jquery-idletimer-plugin/

[3] https://github.com/thorst/jquery-idletimer

[4] https://github.com/ericlbarnes/jquery-idle-timeout

关于javascript - 保持用户 session 事件的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44681216/

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