不知道这段代码能否对你有帮助,只是没有隔几秒提交累计到数据库中。 “如果用户网络故障断开连接,一直没有离开页面? 还是要用到JavaScript,循环几秒执行代码。当不执行了时间就不累计了,这样即时返回用户在线停留时间给用户的感觉会体贴。” <html> <head> <script language="javascript"> <!-- var clock=new Date(); var startTime=clock.getTime(); function showTime() { var leaveTime=new Date(); var totalTime=((leaveTime.getTime()-startTime)/1000); //total time in seconds var hTimerLast=Math.floor(totalTime/3600); //check hours var mTimerLast=Math.floor((totalTime%3600)/60); //check minutes var sTimerLast=Math.floor(totalTime%60); //check seconds alert("You had been at the site for: "+hTimerLast+" Hours "+mTimerLast+" Minutes "+sTimerLast+ " Seconds ."); } //--> </script> </head> <body onunload="showTime()"> </body> </html>
<Script language="JavaScript"> function GetResult() { var oBao = new ActiveXObject("Microsoft.XMLHTTP"); oBao.open("POST","Server.asp",false); oBao.send(); var strResult = unescape(oBao.responseText); RemoveRow(); row = tb.insertRow(); cell = row.insertCell(); cell.innerText = strResult; } function RemoveRow() { //保留第一行表头,其余数据均删除. var iRows = tb.rows.length; for(var i=0;i<iRows-1;i++) { tb.deleteRow(1); } } function MyShow(){timer = window.setInterval("GetResult()",1000);} </Script><body onload="MyShow()"> <p> </p> <table width="47%" height="23" border="0" cellpadding="1" cellspacing="0" id="tb"> <tr> <td></td> </tr> </table> ----------------------------------------------Server.asp <% IF Session("LoginTime")<>"" Then Session("LoginTime")=Session("LoginTime")+1 Else Session("LoginTime")=0 End IF IF Session("LoginTime")<60 Then tempStr=Session("LoginTime")&"秒" Else tempStr=Session("LoginTime")&"秒" End IF sResult = tempStr Response.Write(escape(sResult)) %>
还是要用到JavaScript,循环几秒执行代码。当不执行了时间就不累计了,这样即时返回用户在线停留时间给用户的感觉会体贴。
“如果用户网络故障断开连接,一直没有离开页面?
还是要用到JavaScript,循环几秒执行代码。当不执行了时间就不累计了,这样即时返回用户在线停留时间给用户的感觉会体贴。”
<html>
<head>
<script language="javascript">
<!--
var clock=new Date();
var startTime=clock.getTime();
function showTime()
{
var leaveTime=new Date();
var totalTime=((leaveTime.getTime()-startTime)/1000); //total time in seconds
var hTimerLast=Math.floor(totalTime/3600); //check hours
var mTimerLast=Math.floor((totalTime%3600)/60); //check minutes
var sTimerLast=Math.floor(totalTime%60); //check seconds
alert("You had been at the site for: "+hTimerLast+" Hours "+mTimerLast+" Minutes "+sTimerLast+
" Seconds .");
}
//-->
</script>
</head>
<body onunload="showTime()">
</body>
</html>
function GetResult()
{
var oBao = new ActiveXObject("Microsoft.XMLHTTP");
oBao.open("POST","Server.asp",false);
oBao.send();
var strResult = unescape(oBao.responseText);
RemoveRow();
row = tb.insertRow();
cell = row.insertCell();
cell.innerText = strResult;
}
function RemoveRow()
{
//保留第一行表头,其余数据均删除.
var iRows = tb.rows.length;
for(var i=0;i<iRows-1;i++)
{
tb.deleteRow(1);
}
}
function MyShow(){timer = window.setInterval("GetResult()",1000);}
</Script><body onload="MyShow()">
<p>
</p>
<table width="47%" height="23" border="0" cellpadding="1" cellspacing="0" id="tb">
<tr>
<td></td>
</tr>
</table>
----------------------------------------------Server.asp
<%
IF Session("LoginTime")<>"" Then
Session("LoginTime")=Session("LoginTime")+1
Else
Session("LoginTime")=0
End IF
IF Session("LoginTime")<60 Then
tempStr=Session("LoginTime")&"秒"
Else
tempStr=Session("LoginTime")&"秒"
End IF
sResult = tempStr
Response.Write(escape(sResult))
%>