我的要求是访问该网站后 15 分钟,用户将导航到注册页面。即使再次打开该页面,我也需要跟踪该页面,用户将导航到注册页面。
作为要求,我认为使用 cookie 是可能的,但我需要计算访问该站点的时间。当站点访问分钟数达到 15 时,js 将触发一个函数,我可以在那里设置 cookie 和重定向。
任何人都可以帮我跟踪js的网站访问分钟数吗?
我的要求是访问该网站后 15 分钟,用户将导航到注册页面。即使再次打开该页面,我也需要跟踪该页面,用户将导航到注册页面。
作为要求,我认为使用 cookie 是可能的,但我需要计算访问该站点的时间。当站点访问分钟数达到 15 时,js 将触发一个函数,我可以在那里设置 cookie 和重定向。
任何人都可以帮我跟踪js的网站访问分钟数吗?
虽然我同意时代,但可以使用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
})();
只需在所有页面上包含这个小功能。您可能想设置一个 cookie userIsRegistered
,而不是在客户端已经注册时设置超时。
只要知道这段代码将被发送给客户端,他或她仍然可以自由禁用 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'
用您的网址替换字符串,它应该可以正常工作。也不需要更改变量名:它都包含在这个匿名函数的作用域中,因此与父作用域中声明的变量没有冲突。