#javascript #jquery
#javascript #jquery
Вопрос:
Я хочу реализовать какой-то счетчик того, сколько времени пользователь проводит на моем веб-сайте, и отобразить его на странице контактов.
Пока у меня есть этот небольшой фрагмент кода JavaScript:
var time = 1;
function timeHere() {
time = time 1;
finalTime = time / 10;
document.getElementById("counter_container").innerHTML = "You've just spend " finalTime " seconds looking at my homepage.";
}
И я выполняю ее с помощью setInterval(timeHere(), 100);
К сожалению, это занимает всего 0,2 секунды, и я думаю, это потому, что setInterval
метод выполняется только один раз, и я должен искать способ зациклить его.
Но основная проблема, с которой я сталкиваюсь, заключается в том, как я могу заставить timeHere
функцию работать на всех разных страницах веб-сайта и при этом считать секунды.
Я хочу разместить этот проект с использованием Github Pages, поэтому PHP-решение мне не очень поможет в этом случае.
Комментарии:
1. попробуйте посмотреть файлы cookie и сеансы с помощью JS 🙂 быстрый поиск в Google по файлам cookie и JS, надеюсь, подскажет вам способ : D
2. Поскольку JS является клиентской частью, ваши инструменты ограничены только файлами cookie или локальным хранилищем.
3. Попробуйте worker в фоновом режиме
Ответ №1:
Я не думаю, что вы действительно можете запустить вызов javascript, который повлияет на все страницы одновременно. По крайней мере, я не думаю, что это лучшее решение этой проблемы.
Установите cookie (или используйте локальное хранилище) для пользователя. Используйте какой-либо токен (если они вошли в систему, возможно, идентификатор, если нет, возможно, IP), а затем
$.cookie(user, time_spent)
Затем просто = время к времени, потраченному на этот пользовательский файл cookie.
Кроме того, существует множество похожих инструментов отслеживания. Я уверен, что если вы не хотите создавать свою собственную версию, Google Analytics, вероятно, сделает это за вас за несколько минут.