我希望我的网站在浏览器关闭时自动注销用户。我在javascript中使用onunload。现在,我的问题是每次用户导航到其他页面时都会注销用户。我想要的只是在浏览器关闭时注销。
这是我的代码:
<script type="text/javascript">
window.onbeforeunload = confirmExit;
window.onunload = logout;
function confirmExit() {
return "Are you sure you want to leave?";
}
function logout() {
window.location = '<?php echo WEBSITE_URL ?>?logout=true';
}
</script>
希望有人能尽快帮助我!
答案 0 :(得分:1)
在您的情况下,最好发送 ajax请求来执行该任务,而不是将用户重定向到注销。
也可以onbeforeunload
或者更好的想法是添加cookie
用户上次活动。并检查每个页面加载如果最后一个活动是多于所需的限制服务器重定向到清除会话的登录页面。
答案 1 :(得分:0)
我不认为在窗口关闭时可以在javascript中检测到。正如您发现onunload
事件没有信息为什么页面被卸载:如果用户关闭窗口或导航到其他页面。
此外,用户可以通过在地址栏中输入网址来导航到其他网页 - 在这种情况下,您可能也想要“将他退出”。
实现它的最佳方法是在会话中暂停。如果浏览器崩溃,这将起作用。