网站搜索

Javascript 中 setInterval 函数里的 location.reload() 没有按预期工作


我正在制作一个 Chrome 扩展,它的唯一目的是防止会话超时。为此,我正在使用这个命令:

setInterval(function(){ location.reload(); }, 10000);

我期望的是每10秒刷新一次页面,但这没有发生。但是当我写这个时:

setInterval(function(){ alert("Hello"); }, 3000);

它每3秒显示一次 hello,而 setInterval(function(){ location.reload(); }, 10000); 只是页面在十分钟后刷新一次。这里可能的错误是什么?

答案#1

我不推荐你使用这种代码,因为每个客户端都会每3秒尝试加载所有数据,这会给服务器带来额外的压力。你可以实现实时的双向通信。例如,socket.io 可以帮助你轻松实现。但如果这对你来说不可能,请尝试这段代码:

    setTimeout(function() {
       window.location.href = window.location;
    }, 3000);