我一整天都在寻找PHP或JavaScript解决方案来实现这一目标。
我想提醒用户他们的会话即将超时(弹出),能够延长会话时间。
如果您需要this page
,可以使用视觉效果编辑:
如果有帮助,jQuery就是框架
答案 0 :(得分:4)
这很容易:
让setTimeout
功能显示确认对话框,例如使用{{3}}
如果用户想要延长会话时间,请向PHP文件发出Ajax请求。如果文件使用会话,这将“触及”会话的生命周期
发出请求后,设置另一个setTimeout
,当会话即将到期时将会触发。
答案 1 :(得分:3)
我建议采用不同的方法;只需为用户刷新会话。大多数不受欢迎的会话死亡都是因为
而发生的并且通过确认对话框,当您的用户回来时,会话已经死了 - 只会引起混淆。
相反:
var refresh_session = function () {
$.get("/refresh_session.php");
},
fifteen_minutes = 15 * 60 * 1000;
setInterval(refresh_session, fifteen_minutes);
- >快乐的用户! : - )
答案 2 :(得分:0)
您可以通过在JS计时器上返回1x1像素图像的脚本来回避这个问题。这个想法是你从这样的PHP脚本开始(不确定这里的标题调用是否完全正确..):
header("ContentType: image/gif");
passthru("my-1x1.gif");
现在,让javascript setInterval
函数以合适的间隔(即小于会话GC间隔)调用此脚本。因为图像是从PHP提供的,所以它会更新你的会话,所以理论上你的用户会话只要它们保留在你的网站上就不会结束。