मैं आंतरिक प्रशासन के लिए वेबसाइट पर औसत समय (जैसे Google Analytics करता है) ट्रैक करने के लिए देख रहा हूं।साइट पर उपयोगकर्ता समय को ट्रैक करने के लिए कैसे करें
ऐसा करने का सबसे आसान तरीका क्या है?
मैं आंतरिक प्रशासन के लिए वेबसाइट पर औसत समय (जैसे Google Analytics करता है) ट्रैक करने के लिए देख रहा हूं।साइट पर उपयोगकर्ता समय को ट्रैक करने के लिए कैसे करें
ऐसा करने का सबसे आसान तरीका क्या है?
आप अगले मायनों में समय प्राप्त कर सकते हैं:
यदि आपको आवश्यकता है, तो मैं एक उदाहरण स्क्रिप्ट लिख सकता हूं।
अद्यतन:
<!DOCTYPE html>
<html>
<head>
<title>Collect time</title>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function()
{
var start = null;
$(window).load(function(event) {
start = event.timeStamp;
});
$(window).unload(function(event) {
var time = event.timeStamp - start;
$.post('/collect-user-time/ajax-backend.php', {time: time});
})
});
</script>
</head>
<body>
</body>
</html>
और बैकएंड स्क्रिप्ट:
<?php
$time = intval($_POST['time']);
if (!file_exists('data.txt')) {
file_put_contents('data.txt', $time . "\n");
} else {
file_put_contents('data.txt', $time . "\n", FILE_APPEND);
}
लेकिन जैसा कि मैंने कहा
यह 'window.onunload' – jordanstephens
हाँ आप सही हैं - मैंने गलती की है, मुझे क्षमा करें –
बहुत बढ़िया, मदद के लिए धन्यवाद - यदि आपके पास त्वरित लिखने का समय है तो मुझे एक स्क्रिप्ट देखना अच्छा लगेगा? क्या मैं पूरे डोमेन पर पेज.नलोड का उपयोग कर सकता हूं? – Walker
मुख्य तरह से मैं के बारे में सोच सकते हैं:
जब उपयोगकर्ता पहले एक पृष्ठ को हिट करता आप लॉग इन करें, कहते हैं, उनके आईपी पता, पृष्ठ लोड है, और समय। फिर, जब वे पृष्ठ छोड़ते हैं, तो कुछ जावास्क्रिप्ट और AJAX का उपयोग करते हुए, आप unload
ईवेंट का उपयोग AJAX हैंडलर को भेजने के लिए करते हैं जो पृष्ठ को रिकॉर्ड करता है और जब वे जाते हैं।
पृष्ठ विज़िट को संग्रहीत करने के लिए आपको किसी सत्र के अलावा किसी प्रकार की आईडी का उपयोग करने की आवश्यकता होगी। मान लें कि मेरे पास होमपेज के 5 उदाहरण खुले हैं, आप प्रत्येक को अलग-अलग लॉग इन करना चाहते हैं। तो, कुछ इस तरह:
index.php
कोड: 2345
)अगर वे ०१२३१३६६११८७ जाएँफिर से, आप एक और कोड उत्पन्न करेंगे, कहें, 36789
। एक यादृच्छिक GUID उत्पन्न करने वाला कुछ उपयोग सर्वोत्तम है, इसलिए आप एक ही आईपी/पेज/कोड संयोजन पर टकराव की किसी भी संभावना को अनदेखा कर सकते हैं (अनिवार्य रूप से)।
और ओपेरा ब्राउज़र अनलोड ईवेंट पर काम नहीं करता है, तो आप क्या करेंगे? –
@ दिमाकर्सुन मुझे नहीं पता कि यह एक मुद्दा होगा। सोचा कि यह सभी ब्राउज़रों में समर्थित था, लेकिन मैंने ओपेरा को बिल्कुल भी छुआ नहीं है। प्रति दिन कुछ नया सीखें। – Tarka
वहाँ वास्तव में इसे ओपेरा ब्राउज़र पर काम wouldn `t एक प्रभावी तरीका नहीं है PHP के साथ ऐसा करने के लिए, क्योंकि PHP सर्वर-साइड है और पेज बंद होने पर यह निर्धारित करने का कोई तरीका नहीं है। इसे निर्धारित करने के लिए आपको जावास्क्रिप्ट का उपयोग करने की आवश्यकता है।
मैं क्या करूंगा window.onload
पर टाइमर शुरू करने के लिए जावास्क्रिप्ट का उपयोग करें और फिर window.onunload
पर टाइमर समाप्त करें। फिर आप डेटा स्टोर कर सकते हैं और जो भी आप चाहते हैं उसे कर सकते हैं।
$ (विंडो)। उपयोगकर्ता छोड़ने वाले पृष्ठ को ट्रैक करने के लिए एक बहुत अच्छा फ़ंक्शन है।
लेकिन एक बिंदु तब होता है जब खिड़की अनजान भेजने के लिए अनजान भेजने के लिए कभी-कभी काम करता है, जब उपयोगकर्ता पृष्ठ छोड़ देता है तो AJAX समाप्त नहीं होता है। इसलिए आपको AJAX में एक विशेषता (async: false) जोड़ने की आवश्यकता है, कोड उड़ा है:
$.ajax({
type: 'POST',
async: false,
url: '/collect-user-time/ajax-backend.php',
data: {time: time}
});
क्या आप Google Analytics डेटा का उपयोग नहीं कर सकते? – ChrisF
पहले से ही एक दर्जन पैकेज हैं जो ऐसा करते हैं। यदि आपको नहीं करना है तो पहिया को फिर से न लगाएं। वेबलाइज़र, awstats, urchin, आदि में देखो यह वास्तव में एक गैर-मामूली समस्या है। "साइट पर समय" को परिभाषित करने के लिए कुछ मान्यताओं की आवश्यकता होती है, क्योंकि आप केवल तब जानते हैं जब कोई ब्राउज़र सामग्री का अनुरोध करता है, न कि जब कोई उपयोगकर्ता विंडो बंद करता है, किसी दूरस्थ साइट पर नेविगेट करता है, आदि –
हम एक नौकरी बोर्ड की पेशकश कर रहे हैं जो प्रशासकों को आने की अनुमति देता है उपयोगकर्ताबेस के विशिष्ट सेगमेंट पर नियंत्रण रखें और हम उनके लिए प्रशासनिक विश्लेषण प्रदान करना चाहते हैं। – Walker