这些代码有效,但是当我单击某处(链接或按钮)时,重定向到logout.php
var s= 0;
jQuery(function(){
jQuery(window).bind('beforeunload', function () {
if (s == 0) {
$.ajax({
async: false,
url: 'logout.php'
});
}
s++;
});
});
答案 0 :(得分:0)
您可以在会话中放入一个带有time()的变量,并将其用作有效期的短限,而当用户在您的页面内部时,请连续ajax调用php以更新有效期。在页面顶部放置:
session_start();
if(isset($_SESSION['expiry']))
if(time() > $_SESSION['expiry']){
session_destroy();
header("Refresh:0");
die();
}
$_SESSION['expiry'] = time()+20;
keep_alive.php
session_start();
$_SESSION['expiry'] = time()+20;
然后在您的js中每10秒用ajax ping一次keep_alive.php。如果用户关闭页面但没有快速重新打开页面,则会话将丢失