如何检测一个网页打开、并且用户有在动这个网页,这个是在 统计学员在线学习课程时长
[b]问题补充:[/b]
不是那么简单的啊 我还要能控制用户在登入后有在学习,超过多少分钟后没有操作,系统将自动注销用户身份。
[b]问题补充:[/b]
那位大哥能告诉我具体怎么操作啊?
关于一段时间不操作可以使用session超时来处理,在web.xml文件里配置下就可以了
[code="java"]
%minutes%
[/code]
记录用户登陆的时间可以在session关闭时计算时间,这样不管是自己退出还是超时关闭的session都可以统计到
具体可以参考servletlistener中的HttpSessionListener,监听destroy事件,判断是否登陆过,如果有则统计登陆的时间已经后续操作,当然登陆的标记和时间就是lz的设计了
[code="java"]
public class Listener implements HttpSessionListener
{
public void sessionDestroyed(HttpSessionEvent evt)
{
// count time
}
}
[/code]
可以将这个学员的id保存到一个session里面,该学员退出时销毁辞session 记录下session的生命周期就可得到学员在线学习课时时长了
也可以采用数据库中设置,用临时表来处理
一个用户登陆时向表中插进一条记录,用户离开时候删除该记录,然后统计学员在线时长
超过多少分钟后没有操作,系统将自动注销用户身份
这个你用session来控制就可以了,session超时系统自动注销用户身份
另一种
window.load=function(){
//..ajax todo
window.onclose=function(){
//..ajax todo
return ture;
}
}