無刷新隨時取得用戶當前活動信息
發(fā)表時間:2024-01-28 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]最終顯示是這樣的:用戶:billy 權(quán)限:管理員 時間[2004年1月21日 20:54:08] 停留[0小時0分鐘] 空閑[0分鐘12秒] 顯示的BOTTOM.HTM文件<SCRIPT language=JavaScript><!--function bar() var ...
最終顯示是這樣的:
用戶:billy 權(quán)限:管理員 時間[2004年1月21日 20:54:08] 停留[0小時0分鐘] 空閑[0分鐘12秒]
顯示的BOTTOM.HTM文件
<SCRIPT language=JavaScript>
<!--
function bar()
{
var oXMLDoc = new ActiveXObject('MSXML'); //創(chuàng)建'MSXML'對象
sURL = "loginxml.asp" //獲取登陸狀態(tài)數(shù)據(jù)的地址
oXMLDoc.url = sURL; //load數(shù)據(jù)
var oRoot=oXMLDoc.root; //獲取返回xml數(shù)據(jù)的根節(jié)點
if(oRoot.children != null)
{
//根據(jù)返回的數(shù)據(jù)在客戶端顯示
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; //權(quán)限
}
if (oRoot.children.item(5).text>1800) //空閑時間超過30分鐘則自動轉(zhuǎn)到退出登陸頁面
window.parent.location="/user/logoff.asp?id=1";
timeoutid = setTimeout("bar()",1000) //沒1秒取得一次數(shù)據(jù),}
//-->
</SCRIPT>
用戶:<font color="#FF0000"><span id=user></span></font> 權(quán)限:<font color="#FF0000"><span id=qx></span></font> 時間[<span id=myclock></span>] 停留[<span id=stay></span>] 空閑[<span id=free></span>]
提供XML數(shù)據(jù)的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>
本來覺得這樣會占用很多的資源,但是實際應(yīng)用時覺得一切正常