我想統計訪問者在某個頁面上花費多少時間並將其存儲在我的MySQL數據庫中。JS onunload事件不會總是有效
我認爲剛開始的計時器上的window.onload是這樣的:
window.onload= startCount;
window.onunload= sendCount;
var b=0;
var y;
function startCount() {
document.getElementById('livecount').innerHTML=b;
b=b+1;
y=setTimeout("startCount()",1000);
}
和遊客離開後的頁面(window.onunload),我要送的時候通過一個XMLHttpRequest到PHP文件,它會將其存儲在我的數據庫中:
function sendCount() {
clearTimeout(y);
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","count.php?q="+b,true);
xmlhttp.send();
}
問題是它並不總是有效。我會說它的工作原理就像我嘗試過10次中的3次。 難道是沒有足夠的時間讓PHP和SQL完全執行?
OK,我明白了,它甚至不,當你在不同的URL輸入離開頁面的工作:(嘛,怎麼我還能解決我的問題(計數並存儲在時間花費某些頁面)? – LightDark 2010-11-29 19:51:30