锁定老帖子 主题:页面“长时间”操作引起的Session过期
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-11
那就在body上加一个onclick事件吧,只在click时才发送ajax请求
|
|
返回顶楼 | |
发表时间:2007-10-12
可以每勾一下就让发送ajax请求
|
|
返回顶楼 | |
发表时间:2007-10-12
tomkoo 写道 突然又想到一个比较“龟毛”的问题,如果用户在这个界面确实没有做操作了,那就应该在5分钟的时间之内页面失效。
如果我们自动访问Server以保持Session的话,那么这个页面就永远不会过期了。 这也是一个问题,虽然有点挑刺的感觉。 如果写的话可以控制最大次数就行了。 |
|
返回顶楼 | |
发表时间:2007-10-12
如果每次click时间都同Server交互,因为页面内容很多,click事件也非常的多,这样就会很频繁的同Server交互,负载可能会无形中增大很多。
|
|
返回顶楼 | |
发表时间:2007-10-12
tomkoo 写道 突然又想到一个比较“龟毛”的问题,如果用户在这个界面确实没有做操作了,那就应该在5分钟的时间之内页面失效。
如果我们自动访问Server以保持Session的话,那么这个页面就永远不会过期了。 这也是一个问题,虽然有点挑刺的感觉。 用户有操作,比如勾选复选框,才用ajax发送个请求维持session,否则不发送。 |
|
返回顶楼 | |
发表时间:2007-10-12
点上一页下一页的时候出发ajax.这样的话.你5分钟不翻页的话就确定你session超时
|
|
返回顶楼 | |
发表时间:2007-10-12
你也比较龟毛 所以你的客户也龟毛 无话可说
|
|
返回顶楼 | |
发表时间:2007-10-12
龟毛,又想马儿跑,又想马儿不吃草~~~~~~
1.设置一个全局变量A=0 2.把页面关键部分的onmouseover和onkeypress挂上一个函数,使A=1; 3设置一个每4分钟一次的计时器。如果A=1则发一个ajax请求,并设A=0; 如果A=0则告知用户要超时了,赶紧动动。 要这个办法还满足不了你......那就不知道怎样的龟毛才能满足你了 |
|
返回顶楼 | |
发表时间:2007-10-12
可以使用一个全局变量记录最近click的时间:
var latest_click_time; 然后在onClick中检查当前时间和上次时间之差是否超过4分钟(也可以是其他小于5分钟的数字),如果是,则调用ajax,并更新latest_click_time为当前时间,如果不是,则只更新latest_click_time为当前时间。 这样既可以防止服务器压力过大,又可以防止超时。 |
|
返回顶楼 | |
发表时间:2007-10-12
万一他打勾打到一半突然尿急,上厕所去了,偏偏又超过了5分钟,session过期那他前面的活岂不白干了,所以这个页面就做个定时连接一下服务器,让它永不过期好了,除非他把这个页面关掉。
|
|
返回顶楼 | |