最普通的方法是用SESSION但缺点是无法即时反应在线情况(有超时时间)和占用服务器资源(如果有人在线就有个SESSION想想看)上次(好象间隔很久了耶)介绍了一种采用APPLICATION+COOKIES的方法但实现方法有些烦琐同时还要设一个隐藏的自刷新页面 这种方法则避免了以上的弊病经实践效果不错(例子WWWATERSOFTCOM/BBS)具体如下 假定INDEXHTM为框架网页包含ID=LEFTID=TOP和ID=BOTTOM的三个框架 做个统计页面USERNUMASP <p>正在统计数据</p> <% user=requestquerystring(user) if user= then 如果离开则人数 applicationlock application(num)=application(num) applicationunlock responsewrite <script>selfclose();</script> elseif user= then 如果进入则+ applicationlock application(num)=application(num)+ applicationunlock end if %> 在框架页面中如(INDEXHTM)嵌入USERNUMASP <body onbeforeunload=windowopen(usernumasp?user=nummenubar=no)>
<iframe src=usernumasp?user= frameborder= width= height=></iframe> 在需要显示人数的页面(假定在LEFT显示)中加入 <div id=num><%=application(num)%></div> 设定需要更新数据的页面(如BOTTOM) function tj(){ topleftnuminnerHTML=<%=application(num)%>; } <body onload=tj()> 完毕这只是一个例子具体应用可以灵活另外为什么当离开时要WINDOWOPEN USERNUMASP呢?因为如果同样放在IFRME中窗口关得太快USERNUMASP页面来不及装载就关掉了无法减少人数不足之处欢迎探讨GWLX@CNCOM |