我有一个使用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中的标签。我该怎么做才能使代码正常工作?
答案 0 :(得分:0)
以下可能会发生什么?在会话超时时,您重新加载页面,该页面立即再次触发sessionTimeout,再次发现会话(仍然)已过期,这会重新加载页面...