怎么实时判断用户以离开了网站

xddy 2002-04-30 12:01:31
给个意见
...全文
139 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
leon2k 2002-06-04
  • 打赏
  • 举报
回复
IE正常关闭可以触发事件,如果是IE发生意外错误而关闭,该怎么统计呢?
我赞成利用限定比较事件的方法来判断。超出了时间片,就认为用户已经退出。用户端定时刷新。关键页面关闭时关闭自动刷新页面,这样即使IE意外关闭,服务器端也可以通过时间片来验证客户是否在线。
lul 2002-06-04
  • 打赏
  • 举报
回复
什么情况属于离开网站
xxjmz_78 2002-06-04
  • 打赏
  • 举报
回复
又一种在线人数统计方法(只用1个APPLICATION)
2001-10-12 动网先锋

最普通的方法是用SESSION,但缺点是无法即时反应在线情况(有超时时间)和占用服务器资源(如果有100人在线就有100个SESSION,想想看8);上次(好象间隔很久了耶)介绍了一种采用APPLICATION+COOKIES的方法,但实现方法有些烦琐同时还要设一个隐藏的自刷新页面。
这种方法则避免了以上的弊病,经实践,效果不错(例子:WWW。ATERSOFT。COM/BBS),具体如下:
假定INDEX。HTM为框架网页,包含ID=LEFT,ID=TOP和ID=BOTTOM的三个框架
1、做个统计页面USERNUM。ASP
<p>正在统计数据。。。</p>
<%
user=request.querystring("user")
if user=0 then '如果离开则人数-1
application.lock
application("num")=application("num")-1
application.unlock
response.write "<script>self.close();</script>"
elseif user=1 then '如果进入则+1
application.lock
application("num")=application("num")+1
application.unlock
end if
%>

2、在框架页面中如(INDEX。HTM)嵌入USERNUM。ASP
<body onbeforeunload="window.open('usernum.asp?user=0','num','menubar=no')">
......
<iframe src="usernum.asp?user=1" frameborder=0 width=0 height=0></iframe>
3、在需要显示人数的页面(假定在LEFT显示)中加入
<div id=num><%=application("num")%></div>
4、设定需要更新数据的页面(如BOTTOM)
function tj(){
top.left.num.innerHTML=<%=application("num")%>;
}
<body onload="tj()">
完毕,这只是一个例子,具体应用可以灵活,另外,为什么当离开时要WINDOW。OPEN USERNUM。ASP呢?因为如果同样放在IFRME中,窗口关得太快,USERNUM。ASP页面来不及装载就关掉了无法减少人数,不足之处欢迎探讨GWLX@21CN.COM


zergtant 2002-06-04
  • 打赏
  • 举报
回复
对用session应该可以解决
================================================================
我是菜鸟
gzj0815 2002-06-04
  • 打赏
  • 举报
回复
是不能实时
julyclyde 2002-06-04
  • 打赏
  • 举报
回复
对的就是:不能实时
jxwangzhigang 2002-04-30
  • 打赏
  • 举报
回复
真的做到实时是不可能的!
只能是一段时间内的!
jxwangzhigang 2002-04-30
  • 打赏
  • 举报
回复
采用cookies方法,设置cookies的过期时间,如果用户在设置的时间中未在网站上作任何操作的话,则认为该用户已经推出本网站
xoxe 2002-04-30
  • 打赏
  • 举报
回复
Response.IsClientConnected=True
Response.End
xddy 2002-04-30
  • 打赏
  • 举报
回复
其实自己有一个想法是在onload 事件中,我判断客户端所有的IE是否关闭。如果是的话发送一个请求给服务端。
qiushuiwuhen 2002-04-30
  • 打赏
  • 举报
回复
session.timeout=1

如果超时,触发global.asa中的session_onend函数
loiter 2002-04-30
  • 打赏
  • 举报
回复
用隐匿的html定时向服务器发送请求的话,若用户离开时不关闭浏览器,那么会一直请求下去,那么对服务器的负担也重一些..
ssm1226 2002-04-30
  • 打赏
  • 举报
回复
aspsky.net的论坛,asp的,用数据库,效果不错
xddy 2002-04-30
  • 打赏
  • 举报
回复
对的是什么?
bbschat 2002-04-30
  • 打赏
  • 举报
回复
我的思路是:
隐藏一个HTML表单,定时向服务器发送请求以更新在线时间,
当检查在线用户的时候将超过定时的用户设为非在线用户.
loiter 2002-04-30
  • 打赏
  • 举报
回复
同意 julyclyde(争取下次的MVP)
只能是记录活动时间,然后与当前时间比较,超过一定时间就表明用户停止活动了,即退出了,不管是不是正常还是非正常...
julyclyde 2002-04-30
  • 打赏
  • 举报
回复
jxwangzhigang(一棵草)你这是错的

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧