Javascript 页面每2分钟刷新一次,而不是静止20分钟

Javascript 页面每2分钟刷新一次,而不是静止20分钟,javascript,jquery,Javascript,Jquery,我使用了一个脚本来检查用户是否处于非活动状态,如果用户在20分钟内处于非活动状态,则刷新页面。但是,与此相反,页面每2分钟刷新一次。这是我的密码 var time = new Date().getTime(); $(document.body).bind("mousemove keypress", function(e) { time = new Date().getTime(); }); function refresh()

我使用了一个脚本来检查用户是否处于非活动状态,如果用户在20分钟内处于非活动状态,则刷新页面。但是,与此相反,页面每2分钟刷新一次。这是我的密码

var time = new Date().getTime();
     $(document.body).bind("mousemove keypress", function(e) {
         time = new Date().getTime();
     });

     function refresh() {
         if(new Date().getTime() - time >= 60000) 
             window.location.reload(true);
         else 
             setTimeout(refresh, 15000);
     }

     setTimeout(refresh, 20000);
有人能告诉我怎么了吗?

简单的改变

setTimeout(refresh, 20000);


Javascript中计时器的值设置为毫秒,即1s=1000毫秒

然后20000=20s,60000=60s

在页面启动20秒后第一次进行函数检查,然后每隔15秒进行一次检查,以验证用户是否有超过60秒的空闲时间。如果没有活动,则会在1,20秒后重新加载页面

例如:

 var time = new Date().getTime();

 $(document.body).bind("mousemove keypress", function(e) {
     time = new Date().getTime();
 });

 function refresh() {
     if(new Date().getTime() - time >= 120000) {
         window.location.reload(true);
     } else {
         setTimeout(refresh, 5000);
     }
 }

 setTimeout(refresh, 5000);

此示例每5秒(5000ms)检查一次页面,查看用户是否有超过2分钟(120000ms)的无交互时间

60000ms是多长时间?20分钟应该是1200000ms?
if(new Date().getTime()-time>=60000)
-这不应该检查当前时间和过去时间差60秒吗?这会显著降低我的页面速度吗?5000毫秒的超时不足以降低浏览器速度。该指令非常简单,使用的资源更少
 var time = new Date().getTime();

 $(document.body).bind("mousemove keypress", function(e) {
     time = new Date().getTime();
 });

 function refresh() {
     if(new Date().getTime() - time >= 120000) {
         window.location.reload(true);
     } else {
         setTimeout(refresh, 5000);
     }
 }

 setTimeout(refresh, 5000);