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



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


При каждом просмотре страницы обновляйте счетчик. Если они выходят из системы, значит, у вас есть точные измерения. Если они уйдут, или любым другим способом, то самое большее, что вы потеряете, - это время, в течение которого они были на одной странице.
Если бы для действительно очень было важно иметь точные измерения, то, возможно, AJAX "сердцебиение" каждую минуту, но это, скорее всего, излишек.
Что ж, для №3 и №4 вы можете прикрепить что-нибудь к событию window.onunload, которое даст вам время для вычислений, но будьте осторожны, чтобы ваш код был достаточно быстрым, чтобы страница не выгружалась полностью до того, как ваш запрос AJAX может быть отправлен.
Что касается №2, то "сердцебиение", предложенное nickf, вероятно, лучшее решение.
Так же, как "сердцебиение" stackoverflow :)