| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1437 人关注过本帖
标题:[求助]如果判断用户是否在线
只看楼主 加入收藏
Mycr
Rank: 1
等 级:新手上路
帖 子:203
专家分:0
注 册:2006-9-18
收藏
 问题点数:0 回复次数:9 
[求助]如果判断用户是否在线

用什么方式知道用户是否在线?
用户登陆的时候我可以设一下值,让她变为1,就是在线,但是用户走了,怎么让他变为0,才是离线呢

搜索更多相关主题的帖子: 用户 判断 在线 线呢 
2007-05-30 11:29
enlangs
Rank: 1
等 级:等待验证会员
威 望:2
帖 子:218
专家分:0
注 册:2007-5-28
收藏
得分:0 
首先要完成的就是登录系统

当会员登录时,给这个会员一个Session记录登录状态如
[CODE] Session("Status")="Logged". [/CODE]
然后,在那些不是要登录后才能看的 页面都加入验证.

[CODE] if session("Status")="" then
response.redirect "login.asp"
end if [/CODE]
2007-05-30 11:52
Mycr
Rank: 1
等 级:新手上路
帖 子:203
专家分:0
注 册:2006-9-18
收藏
得分:0 

那怎么判断用户离开了呢,很多用户离开的时候,只是关闭窗口,并不会点退出


2007-05-30 15:10
enlangs
Rank: 1
等 级:等待验证会员
威 望:2
帖 子:218
专家分:0
注 册:2007-5-28
收藏
得分:0 


[CODE]<BODY onbeforeunload="body_onUnload()">
<script>
function body_onUnload()
{
if (window.event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
{
alert("浏览器关闭");
}
else
{
alert("刷新或者跳转到其他页");
}
}
</script>
</BODY>[/CODE]

以上是一个片段,BODY 的 UNLOAD和onbeforeunload事件会在浏览器清除所加载的信息时被触发,也就是说页面在回送、重定向或被关闭的时候就会触发 ,通过这个事件加上JAVASCRIPT处理就可以实现非法关闭浏览器也即时统计在线人数了。
但是有个问题,怎么判断用户是关闭还是刷新、回送、重定向呢?
window.event.clientX和window.event.clientY 将捕捉当前事件发生时鼠标相对与窗口的桌面坐标,通常情况下IE的关闭按钮都会在页面的左上部分,所以点关闭的时候鼠标的坐标的Y坐标一定是小于0的,另外,鼠标坐标的X方向上坐标数值会大于窗体宽度,所以,从这两个条件就可以判断鼠标是不是在点关闭按钮引发的onbeforeload事件。
还有一种关闭方法是ALT+F4 ,通过event.altKey就可以判断,事件发生的时候ALT键是不是被按下了,这样也就判断出了是不是时候ALT+F4来关闭窗口。

2007-05-30 15:37
Mycr
Rank: 1
等 级:新手上路
帖 子:203
专家分:0
注 册:2006-9-18
收藏
得分:0 

历害,谢谢哈


2007-05-30 16:13
jxdz086465
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2007-5-22
收藏
得分:0 

----------------------65计划日23个根据地。----------------------
2007-05-30 16:18
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
收藏
得分:0 
还有一种关闭方式是ctrl+alt+del,然后点立即结束.
这个怎么判断?
还有直接关机是不是就用不到这些了.
2007-05-31 09:17
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏
得分:0 

Session有生存期,默认为20分钟

如果那人已经离线,20钟后会激发Session_onend(好像是这样写的)事件

你在那写减一的代码



我觉得最好的方法
别人打开网页时,用数据库记录用户的访问时间,访问在10分钟内的就算是在线...


2007-05-31 09:50
enlangs
Rank: 1
等 级:等待验证会员
威 望:2
帖 子:218
专家分:0
注 册:2007-5-28
收藏
得分:0 
以下是引用lq7350684在2007-5-31 9:17:40的发言:
还有一种关闭方式是ctrl+alt+del,然后点立即结束.
这个怎么判断?
还有直接关机是不是就用不到这些了.

这我倒没想到,不知你有什么看法???

[此贴子已经被作者于2007-5-31 12:09:06编辑过]

2007-05-31 12:03
enlangs
Rank: 1
等 级:等待验证会员
威 望:2
帖 子:218
专家分:0
注 册:2007-5-28
收藏
得分:0 
刚才发现网页还可以通过Ctrl+W关闭.

又要增加代码..
2007-05-31 12:11
快速回复:[求助]如果判断用户是否在线
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.063864 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved