【问题标题】:location.reload(true) crashing browser tablocation.reload(true) 崩溃浏览器选项卡
【发布时间】:2016-09-15 03:26:59
【问题描述】:

我有一个使用 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 中的选项卡崩溃。我该怎么做才能使代码正常工作?

【问题讨论】:

    标签: javascript php timeout


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。重新加载页面时发生的第一件事是我检查会话是否存在。如果没有,它会将用户重定向到登录页面。
    猜你喜欢
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 2013-08-02
    • 2012-02-10
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多