gpt4 book ai didi

jquery - 如何在用户在论坛上发帖时保持他们的 session 活跃?

转载 作者:可可西里 更新时间:2023-11-01 15:07:40 25 4
gpt4 key购买 nike

我有一个 session 超时为 15 分钟的站点。在某些页面上,用户有时会花费超过 15 分钟的时间来填写回复。在这种情况下,使 session 保持事件状态的最佳解决方案是什么?

我已经在这些页面上使用了 JQuery,所以可能会 ping 服务器,但是在什么事件上?

后端是 Tomcat 上的 Struts

最佳答案

鉴于您不想更改站点的 session 超时..

在 javascript 中设置超时/间隔(< 15 分钟)事件并决定事件触发时要做什么。如果您希望 session 在页面打开时一直处于事件状态,那么很好,每隔 15 分钟保持一次 ping 操作。但这可能不是您想要的,因为离开公共(public)计算机的用户应该在某个时候注销。

您可以维护一个变量 lastActivity,它会在每次文档鼠标移动或文档按键按下时更新。如果自上次 ping 后有任何事件,请再次 ping。

要变得更复杂,您可以计算事件数并仅在事件数 > 超时阈值时才对服务器执行 ping 操作。

基本示例:

setInterval(function(){
$.get('/ImStillAlive.action');
}, 840000); // 14 mins * 60 * 1000

对打字事件进行基本检查:

$(function(){
var lastUpdate = 0;
var checkInterval = setInterval(function(){
if(new Date().getTime() - lastUpdate > 840000){
clearInterval(checkInterval);
}else{
$.get('/ImStillAlive.action');
}
}, 840000); // 14 mins * 60 * 1000

$(document).keydown(function(){
lastUpdate = new Date().getTime();
});
});

关于jquery - 如何在用户在论坛上发帖时保持他们的 session 活跃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3877821/

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