При расчете времени, проведенного пользователем на веб-странице, я пытаюсь понять, можно ли определить продолжительность сеанса как время веб-активности. Поскольку в качестве варианта использования пользователь может закрыть вкладку на chrome, тем не менее сеанс не будет завершен с сохранением файлов cookie.
Это я делаю в Newreli c Пользовательский мониторинг для активного подсчета времени, проведенного на веб-странице. Время ожидания сеанса 30 минут. Я пробовал следующий код, но не дал правильных результатов.
window.addEventListener("beforeunload", function (event) {
// Ensure the current interaction is saved
newrelic.interaction().save();
var navStartTime = window.performance.timing.navigationStart;
var unloadTime = Date.now();
var timeOnPage = unloadTime - navStartTime;
var durationTimeoutReached = false;
// Limit the page session to 30 minutes (1800000 milliseconds). 30-minute timeout is based on analytics standards.
if (timeOnPage > 1800000) {
durationTimeoutReached = true;
timeOnPage = 1800000;
}
// Add timeOnPage value as a custom attribute, add timeout identifier if 30 minutes was reached.
newrelic.setCustomAttribute('timeOnPage', timeOnPage);
newrelic.setCustomAttribute('durationTimeoutReached', durationTimeoutReached);
});