20
Ноя
2017

Отследить время пребывания на сайте

var startTime = new Date();
window.onunload = function() {
  var time = new Date() - startTime;
  time = Math.round(time / 1000);

  SendPost(time); //отправляем на сервер
}

Код который высчитывает время от загрузки скрипта, до закрытия страницы. Работает в Опере, не работает в Хроме и Фоксе(вероятно из-за window.onunload). Как получить данные о времени от загрузки страницы до ее закрытия(отсоединения от интернета, отключения JS, ...), для получения представления о среднем времени пребывания на странице?

Вроде делают с помощью WebSocket. Как это осуществить?

var ws = new WebSocket('ws://echo.websocket.org');
var startTime = new Date();
ws.onclose = function() {
  var time = new Date() - startTime;
  time = Math.round(time / 1000);

  SendPost(time); //отправляем на сервер
}

Такой вариант не заработал. Дело в том, что Эхо-сервер сразу же закрывает соединение, или в том, что onclose не срабатывает, если закрыть страницу?

Простой вариант с отсылкой сообщений серверу с идентификатором пользователя и временем от начала сессии, через каждые n секунд реализовать всегда успею...

Источник: https://ru.stackoverflow.com/questions/746908/%D0%9E%D1%82%D1%81%D0%BB%D0%B5%D0%B4%D0%B8%D1%82%D1%8C-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D0%BF%D1%80%D0%B5%D0%B1%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%BD%D0%B0-%D1%81%D0%B0%D0%B9%D1%82%D0%B5

Тебе может это понравится...

Добавить комментарий