Сообщите серверу о времени, проведенном на странице - PullRequest
0 голосов
/ 20 декабря 2009

Можно ли сообщить о времени, проведенном на странице, обратно на сервер, когда посетитель покидает страницу, закрывая вкладку или браузер? Использование Javascript.

И он будет работать в Firefox, Google Chrome, Safari, Opera и IE8 (IE7 и 6 не важны).

Но это будет работать в любом случае; даже когда браузер закрывается или набирается другой адрес.

Ответы [ 4 ]

4 голосов
/ 20 декабря 2009

Вы можете попробовать windows.onbeforeunload, но нет гарантии, что он будет работать во всех случаях.

В любом случае, я предлагаю вам использовать Google Analytics , которая имеет эту функцию среди многих других (я сомневаюсь, что вы можете сделать лучше, чем Google!). Это бесплатно.

2 голосов
/ 20 декабря 2009

Если вы хотите реализовать это самостоятельно, вам нужно решить, когда получить время начала - вы можете поместить тег сценария в верхней части страницы, который может выполняться до визуализации содержимого, в событии onload, которая будет ждать, пока все изображения и сценарии не будут загружены, или что-то вроде события готовности JQuery , которое происходит, когда DOM готов, но не ожидает загрузки ресурсов. На этом этапе вам нужно записать время начала:

<script>var startTime = new Date().getTime();</script>

Затем вы можете прослушать событие onunload или onbeforeunload и использовать изображение для отправки запроса GET с информацией:

<script>
  window.onunload = function() {
    var i = new Image();
    var timeSpentMilliseconds = new Date().getTime() - startTime;
    i.src = '/pagetime?timespent=' + timeSpentMilliseconds;
  }
</script>

Вам нужно будет провести некоторое тестирование, чтобы увидеть, всегда ли отправляются запросы - я уверен, что иногда браузер закрывается или вкладка переключается до того, как они завершают работу.

1 голос
/ 20 декабря 2009

Почему бы не использовать Google Analytics напрямую? Помимо того, что вы хотите, он предоставляет гораздо больше данных для вашей аналитики. И это бесплатно. С Уважением, freezea.

1 голос
/ 20 декабря 2009

Вы также можете попробовать PiWik , который предлагает вам похожую статистику о посетителе вашего сайта.

...