2017-02-15 144 views
0

我正在使用PHP和MySql。我需要一个功能,当用户关闭浏览器选项卡时,用户应该自动注销。 我已经使用JavaScript onbeforeunload事件。但它不起作用,这个事件也执行页面刷新。用户应该关闭浏览器标签后自动注销不仅浏览器

这里是我的示例代码,

window.onbeforeunload = function(){ 
    $.ajax({url: "logout.php", success: true}); 
    return 'Are you sure ?'; 
}; 
+0

检查这个答案:http://stackoverflow.com/questions/3888902/javascript-detect-browser-close-tab-close-browser –

回答

0

想法将捅后端每2秒到期,当你停下来让我们说5秒会议?这种方式在关闭选项卡会话3到5秒后会自动过期。

setInterval(function() { 
    $.get('/poke.php'); 
}, 2000); 

虽然PHP端:

// poke.php 
$_SESSION['poke'] = time(); 

// Probably your index.php 
if (isset($_SESSION['poke'] && time() - $_SESSION['poke'] > 5) { 
    // Do the logout 
} else { 
    $_SESSION['poke'] = time(); 
}