Мне нравится измерять время, проведенное пользователем на конкретной странице моего веб-приложения. Сначала я подумал о том, чтобы перехватить событие onunload / onbeforeunload в браузере и уведомить сервер с помощью XMLHttpRequest, который пользователь покидает сейчас:
<body onunload="userLeaves('/url/to/current/page',xxx);" ...> ... </body>
где xxx - начальная отметка tiemstamp, когда страница была обработана.
К сожалению, это решение не работает во всех браузерах (например, Opera). Поэтому моей второй идеей было постоянно пинговать сервер. Чтобы рассчитать время посещения, кто-то должен взять время последнего пинга и вычесть его из начальной метки времени. Но я не думаю, что это хорошее решение, особенно когда пользователь открывает 3 или 5 вкладок, а каждая вкладка запускает события каждые 500 мс ...
как бы вы измерили время посещения? У кого-нибудь есть идея, чтобы получить время, потраченное на одну страницу?