問題描述:在狀態列上顯示,訪客在本頁停留的時間(如:您在本頁停留了(如:您在本頁停留了X小時X分X秒)
這個問題相當於是設計一個計時器,用於顯示瀏覽者在該頁面停留了多長時間。要解決該問題,我想到的主要有兩種方法。
方法一:利用系統時間。即先設定一個變量,用於取得登入開始時間startTime,然後利用setTimeout()函數讓頁面不停的刷新,在刷新的同時,取得當前時間nowTime,然後用當前時間減去登入開始時間,即為停留時間。在此就不做詳細編寫。重點說下下面使用到的方法二來實現。
方法二:設定三個變數:second,minute,hour。然後讓second不停的+1,利用setTimeout實作頁面每隔一秒刷新一次,當second大於等於60時,minute開始+1,並且讓second重新置零。同理當minute大於等於60時,hour開始+1。這樣即可實現計時功能。
方法二程式碼如下:
複製代碼代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
</head>
<body onload="timeCount()">
<script type="text/javascript">
var second=0;
var minute=0;
var hour=0;
function timeCount(){
second=second+1;
setTimeout("timeCount()",1000);
while(second>=60){
minute=minute+1;
second=0;
while(minute>=60){
hour=hour+1;
minute=0;
second=0;
}
}
window.status="你在本網頁停留了"+hour+"小時"+minute+"分"+second+"秒";
}
</script>
</body>
</html>
運作效果如圖所示。