Я хочу отслеживать, сколько секунд пользователь тратит на моем веб-сайте проекта на всех своих страницах, и для этого я хочу использовать cookie сеансов JavaScript.
Это потому, что я буду размещать его с помощью Github Pages, где у меня нет доступа к PHP, а также потому, что я хочу попробовать работать с кукисами JS (это первый раз, когда я это делаю).
Для подсчета секунд я использую следующее:Как сохранить переменную внутри cookie сеанса JavaScript?
var time_spent = 0;
setInterval(function(){
++time_spent;
$('#counter_container span').html(time_spent);
}, 1000);
Приведенный выше код работает там, где счетчик, но, как ожидается, будет переустановку каждый раз, когда я изменить страницу.
Я попытался с помощью библиотеки JS-куков (https://github.com/js-cookie/js-cookie) следующим образом:
Cookies.set('time_spent', time_spent);
var counted_time = Cookies.get('time_spent');
console.log(counted_time);
Но переменная counted_time
всегда «неопределенный» все, что я пробовал.
Я бы действительно оценил любые рекомендации, которые я могу получить, чтобы решить эту небольшую проблему.
FYI: SetTimeout не хороший способ для отслеживания времени. И почему это не работает, где вы устанавливаете cookie при обновлении значения? – epascarello
Я бы не использовал таймер для этого. Вместо этого попробуйте установить временную метку, когда пользователь входит на страницу, а затем «onbeforeunload» получает продолжительность и добавляет ее к значению, хранящемуся в файле cookie. –
Возможный дубликат [Установить файл cookie и получить файл cookie с JavaScript] (http: // stackoverflow. com/questions/14573223/set-cookie-and-get-cookie-with-javascript) –