location.reload(true)崩溃浏览器选项卡

location.reload(true) crashing browser tab

本文关键字:浏览器 选项 崩溃 reload true location      更新时间:2023-09-26

我有一个使用PHP会话的网站,我实现了以下JS代码,每60秒检查一次用户的会话是否仍然活跃:

var timeoutInterval = 60000; // 1 minute
function checkTimeout() {
  var timeoutWorker = new Worker("/include/cbpull.js");
  timeoutWorker.postMessage('/cloud/timeout.php');
  timeoutWorker.onmessage = function (result) {
    if (result.data['result'] === false) {
      location.reload(true);
    }
  }
}
function sessionTimeout() {
  checkTimeout();
  setInterval(checkTimeout, timeoutInterval);
}
sessionTimeout();

然而,当会话超时并调用location.reload(true)时,此代码会使Google Chrome中的选项卡崩溃。我该怎么做才能使代码正常工作?

可能发生了以下情况?在会话超时时,您重新加载页面,这会立即再次触发sessionTimeout,它会再次发现会话(仍然)过期,从而重新加载页面。。。