Javascript时间轨迹

Javascript time track

本文关键字:轨迹 时间 Javascript      更新时间:2023-09-26

我的要求是访问网站15分钟后,用户将导航到注册页面。我需要跟踪页面,即使在再次打开该页面后,用户也会导航到注册页面。

根据要求,我认为使用cookie是可能的,但我需要计算访问网站的时间。当网站访问时间达到15分钟时,js会启动一个功能,在那里我可以设置cookie并重定向。

有人能帮我通过js跟踪网站访问分钟吗?

虽然我同意epoch,但可以使用localStorage:

(function (timer)
{
    var now = new Date();
    var redirect = function()
    {
        location.href = 'register url';
    }
    if (!localStorage.getItem('registrationMinutes'))
    {
        localStorage.setItem('registrationMinutes',(+now)+60000*15);//time +15 minutes
    }
    if (localStorage.registrationMinutes <= +now)
    {//on page load, check if 15 mins are up
        return redirect();
    }
    timer = setTimeout(redirect,localStorage.registrationMinutes - now);//call function when time is up
})();

只需在所有页面上包含这个小功能。您可能想要设置类似userIsRegistered的cookie,并且而不是在客户端已经注册时设置超时
只需知道此代码将被发送到客户端,他或她仍然可以自由禁用cookie、JS,。。。而且,我认为localStorage不受旧IE浏览器的支持(这是一个惊喜!)
如果这一切都有点过分,这里有一个简单的复制粘贴片段:

(function (url,now,timer)
{
    var redirect = function()
    {
        location.href = url;
    }
    if (!localStorage.getItem('registrationMinutes'))
    {
        localStorage.setItem('registrationMinutes',(+now)+60000*15);//time +15 minutes
    }
    if (localStorage.registrationMinutes <= +now)
    {//on page load, check if 15 mins are up
        return redirect();
    }
    timer = setTimeout(redirect,localStorage.registrationMinutes - now);//call function when time is up
})('redirectUrl',new Date());

只需将'redirectUrl'字符串替换为您的url,它就会正常工作。也不需要更改变量名:它都包含在这个匿名函数的作用域中,因此与父作用域中声明的变量没有冲突。