Экономия времени, когда пользователь вошел в систему - PullRequest
4 голосов
/ 15 октября 2008

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

  1. Пользователь нажимает кнопку выхода.
  2. Сеанс пользователя истекает.
  3. Пользователь закрывает окно.
  4. Пользователь вводит URL другого сайта в адресную строку.

Первый способ довольно прост, поскольку приложение получает контроль над процессом выхода из системы. Но в других это становится сложно.

Что бы вы сделали, чтобы решить эту проблему?

Ответы [ 2 ]

7 голосов
/ 15 октября 2008

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

Если было бы действительно очень важно иметь точную меру, то, возможно, AJAX "сердцебиение" каждую минуту, но это, скорее всего, излишество.

1 голос
/ 15 октября 2008

Хорошо для # 3 и # 4 вы можете прикрепить что-то к событию window.onunload, которое даст вам время для вычислений, но будьте осторожны, чтобы ваш код был достаточно быстрым, чтобы страница не полностью выгружалась до того, как ваш AJAX-запрос сможет быть отправленным.

Что касается # 2, то "nickf", предложенный nickf, вероятно, является лучшим решением.

...