Dla zainteresowanych mam włożyć trochę pracy w małej biblioteki JavaScript, który czasy jak długo użytkownik współdziała z sieci strona. Dodatkową zaletą jest dokładniejsze (nie perfekcyjne) śledzenie czasu interakcji użytkownika ze stroną. Ignoruje czasy, w których użytkownik przełącza się na różne karty, przechodzi w stan bezczynności, minimalizuje przeglądarkę itp.
Edytuj: Zaktualizowałem przykład, aby uwzględnić bieżące użycie interfejsu API.
http://timemejs.com
Przykładem jego użytkowania:
Dołącz na stronie:
<script src="http://timemejs.com/timeme.min.js"></script>
<script type="text/javascript">
TimeMe.initialize({
currentPageName: "home-page", // page name
idleTimeoutInSeconds: 15 // time before user considered idle
});
</script>
Jeśli chcesz zgłosić samemu razy do backend:
xmlhttp=new XMLHttpRequest();
xmlhttp.open("POST","ENTER_URL_HERE",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var timeSpentOnPage = TimeMe.getTimeOnCurrentPageInSeconds();
xmlhttp.send(timeSpentOnPage);
TimeMe.js obsługuje również wysyłanie danych czasowych za pośrednictwem stron internetowych, więc nie trzeba próbować wymuszać pełnego żądania http w zdarzeniu document.onbeforeunload
.
Jest na to sposób, to nie potrzebują js dla that..you może zainicjować timer pageload i kontynuuj wstawianie wartości do bazy danych. Po prostu damy ci wersję demonstracyjną ... odczekaj 10 minut. –
Najlepszym rozwiązaniem byłoby zliczanie lub uruchamianie stopera, ale aby sprawdzić czas onLoad i onBeforeUnload i obliczyć różnicę. – Thor84no