无刷新随时取得用户当前活动信息

最终显示是这样的:

用户:billy 权限:管理员 时间[2004年1月21日 20:54:08] 停留[0小时0分钟] 空闲[0分钟12秒]

显示的BOTTOM.HTM文件

 1<script language="JavaScript">   
 2<!--   
 3function bar()   
 4{ 
 5
 6var oXMLDoc = new ActiveXObject('MSXML'); //创建'MSXML'对象 
 7
 8sURL = "loginxml.asp" //获取登陆状态数据的地址 
 9
10oXMLDoc.url = sURL; //load数据 
11
12var oRoot=oXMLDoc.root; //获取返回xml数据的根节点   
13if(oRoot.children != null) 
14
15{ 
16
17  
18//根据返回的数据在客户端显示 
19
20user.innerHTML=oRoot.children.item(0).text; //用户 
21
22myclock.innerHTML=oRoot.children.item(1).text; //时间 
23
24stay.innerHTML=oRoot.children.item(2).text; //停留 
25
26free.innerHTML=oRoot.children.item(3).text; //空闲 
27
28qx.innerHTML=oRoot.children.item(4).text; //权限   
29
30
31}   
32if (oRoot.children.item(5).text>1800) //空闲时间超过30分钟则自动转到退出登陆页面   
33window.parent.location="/user/logoff.asp?id=1"; 
34
35  
36timeoutid = setTimeout("bar()",1000) //没1秒取得一次数据,}   
37//-->   
38</script>

用户:

1<font color="#FF0000"><span id="user"></span></font>

权限:

1<font color="#FF0000"><span id="qx"></span></font>

时间[

1<span id="myclock"></span>

] 停留[

1<span id="stay"></span>

] 空闲[

1<span id="free"></span>

]

提供XML数据的ASP页面 LOGINXML.ASP

 1   
 2username=session("userName")   
 3qxdm=session("qxdm")   
 4set rs = server.createobject("adodb.recordset")   
 5rs.source = "select * from userlogin where username='"&username&"'"   
 6rs.open rs.source,conn,1,1   
 7logindate=rs("logindate")   
 8active=rs("active")   
 9rs.close   
10stay=DateDIff("s",logindate,now())   
11off=DateDIff("s",active,now())   
12stay=stay/60   
13stay=Int(stay/60)&"小时"∬(stay mod 60)&"分钟"   
14free=Int(off/60)&"分钟"∬(off mod 60)&"秒"   
15us=DatePart("yyyy",date)&"年"&DatePart("m",date)&"月"&DatePart("d",date)&"日 "&time   
 1<plan>
 2<user>```
 3=username
 4```</user>
 5<date>```
 6=us
 7```</date>
 8<active>```
 9=stay
10```</active>
11<free>```
12=free
13```</free>
14<qx>```
15call qx(qxdm)
16```</qx>
17<off>```
18=off
19```</off>
20</plan>

本来觉得这样会占用很多的资源,但是实际应用时觉得一切正常

Published At
Categories with Web编程
Tagged with
comments powered by Disqus