我有一个网站,会话超时为15分钟.在某些页面上,用户偶尔花费超过15分钟填写回复.在这种情况下,保持活动的最佳解决方案是什么?
我已经在这些页面上使用了JQuery,所以可能要ping一个服务器,但是什么事件?
后端是Tomcat上的Struts.
解决方法
鉴于您不想更改网站的会话超时
在javascript中设置超时/间隔(<15分钟)事件,并决定事件触发时该做什么.只要您希望该会话处于活动状态,只要该页面处于打开状态,则可以继续ping每个< 15分钟但这可能不是您想要的,因为离开公用计算机的用户应该在某些时候注销. 您可以维护一个变量lastActivity,它会在每个文档mousemove或文档keydown上进行更新.如果自上次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(); }); });
原文地址:https://www.jb51.cc/jquery/179445.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。