मैं यह जानना चाहता हूं कि विज़िटर किसी निश्चित पृष्ठ पर कितना समय व्यतीत करते हैं और इसे मेरे MySQL डीबी में संग्रहीत करते हैं।जेएस ऑननलोड ईवेंट हमेशा काम नहीं करेगा
मैं सिर्फ इस तरह 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), मैं एक PHP के लिए एक XMLHttpRequest के माध्यम से समय भेज रहा छोड़ देता है फ़ाइल, जो इसे मेरे डीबी में स्टोर करेगी:
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 को पूरी तरह से निष्पादित करने के लिए पर्याप्त समय शेष नहीं है?
ठीक है, मैं देख रहा हूँ ... तो यह और भी काम नहीं करता है जब आप एक अलग URL में टाइप करके पृष्ठ को छोड़ :(ठीक है, और कैसे मैं मेरी समस्या (गिनती का समाधान कर सकता है और समय एक पर खर्च की दुकान कुछ पेज)? – LightDark