无刷新随时取得当前服务器时间用户登陆时间,在线时间,空闲时间并自动退出的例子

王朝asp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

最终显示是这样的:

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

显示的BOTTOM.HTM文件

<SCRIPT language=JavaScript>

<!--

function bar()

{

var oXMLDoc = new ActiveXObject('MSXML'); //创建'MSXML'对象

sURL = "loginxml.asp" //获取登陆状态数据的地址

oXMLDoc.url = sURL; //load数据

var oRoot=oXMLDoc.root; //获取返回xml数据的根节点

if(oRoot.children != null)

{

//根据返回的数据在客户端显示

user.innerHTML=oRoot.children.item(0).text; //用户

myclock.innerHTML=oRoot.children.item(1).text; //时间

stay.innerHTML=oRoot.children.item(2).text; //停留

free.innerHTML=oRoot.children.item(3).text; //空闲

qx.innerHTML=oRoot.children.item(4).text; //权限

}

if (oRoot.children.item(5).text>1800) //空闲时间超过30分钟则自动转到退出登陆页面

window.parent.location="/user/logoff.asp?id=1";

timeoutid = setTimeout("bar()",1000) //没1秒取得一次数据,}

//-->

</SCRIPT>

用户:<font color="#FF0000"><span id=user></span></font> 权限:<font color="#FF0000"><span id=qx></span></font> 时间[<span id=myclock></span>] 停留[<span id=stay></span>] 空闲[<span id=free></span>]

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

<%

username=session("userName")

qxdm=session("qxdm")

set rs = server.createobject("adodb.recordset")

rs.source = "select * from userlogin where username='"&username&"'"

rs.open rs.source,conn,1,1

logindate=rs("logindate")

active=rs("active")

rs.close

stay=DateDIff("s",logindate,now())

off=DateDIff("s",active,now())

stay=stay/60

stay=Int(stay/60)&"小时"&Int(stay mod 60)&"分钟"

free=Int(off/60)&"分钟"&Int(off mod 60)&"秒"

us=DatePart("yyyy",date)&"年"&DatePart("m",date)&"月"&DatePart("d",date)&"日 "&time

%>

<?xml version="1.0" encoding="gb2312" ?>

<plan>

<user><%=username%></user>

<date><%=us%></date>

<active><%=stay%></active>

<free><%=free%></free>

<qx><%call qx(qxdm)%></qx>

<off><%=off%></off>

</plan>

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有