我正在尝试使用永远不会停止的计数器,即使用户离开页面也是如此。我希望它可以连续工作,但是我不知道这样做的方法。目前,我有一个计数器,即使用户对其进行了更新,该计数器仍在用户在页面上时进行计数,但是当用户离开页面时,它将永远不会进行计数。
我该怎么做?或者您可以推荐我什么教程?
我有我在这里得到的以下代码: Continual counter regardless of page refresh
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);
答案 0 :(得分:1)
如果您要每秒增加一次计数器,为什么不只存储用户首次访问该站点的时间戳并从当前时间戳中扣除它。
请注意,在StackOverflow片段或JS小提琴上无法使用localStorage()
,但您可以在此处看到它: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登录到您的网站,则可以将开始时间存储在数据库中,以避免用户通过清除其Cookie来重置计数器。