Непрерывно работающий счетчик Laravel - JavaScript - PullRequest
0 голосов
/ 20 декабря 2018

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

Как я могу это сделать или какой учебник вы мне порекомендуете?

У меня есть этот код, который я получил здесь: Постоянный счетчик независимо от обновления страницы

var counter=22000000000;
if(typeof(localStorage.getItem('counts'))!='object')
{
   counter=parseInt(localStorage.getItem('counts'));
}
setInterval(function () {
    $(".count").html(counter);
    ++counter;
    localStorage.setItem('counts',counter);
}, 1000);

1 Ответ

0 голосов
/ 20 декабря 2018

Если вы увеличиваете счетчик каждую секунду, почему бы не сохранить временную метку, с которой пользователь впервые посетил сайт, и вычесть ее из текущей временной отметки.

Обратите внимание, что использование localStorage() не работаетв фрагментах StackOverflow или JS fiddle, но вы можете увидеть их здесь: https://js.do/code/271017

if(localStorage.getItem('start')===null)
{
   localStorage.setItem('start',new Date().getTime());
}
setInterval(function () {
	var t = new Date().getTime();
    var s = localStorage.getItem('start');
    $(".count").html(Math.round((t-s)/1000));
}, 1000);
<p class="count"></p>

Это никоим образом не использует Laravel.Если пользователь вошел на ваш сайт с помощью Laravel, вы можете сохранить время запуска в своей базе данных, чтобы пользователь не мог сбросить счетчик, очистив свои куки.

...