2008-10-14 11 views
4

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

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

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

Что вы хотите для решения этой проблемы?

ответ

7

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

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

+0

Точно так же, как «heartbeat» stackoverflow :) – 2008-10-14 22:26:08

1

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

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