我正在使用代码在关闭浏览器时自动注销应用程序,但是代码的影响是当我按下浏览器的“后退”按钮并导航到另一个页面时,它也会从应用程序中自动注销。
我希望我的代码仅在关闭浏览器时自动注销,而不是在通过后退按钮导航时自动注销
这可以帮我吗,谢谢
这是我的代码
$(window).on('mouseover', (function () {
window.onbeforeunload = null;
}));
$(window).on('mouseout', (function () {
window.onbeforeunload = ConfirmLeave;
}));
function ConfirmLeave() {
$.get("call to a php code to logout");
}
var prevKey="";
$(document).keydown(function (e) {
if (e.key=="F5"){
window.onbeforeunload = ConfirmLeave;
}else if (e.key.toUpperCase() == "W" && prevKey == "CONTROL") {
window.onbeforeunload = ConfirmLeave;
}else if (e.key.toUpperCase() == "R" && prevKey == "CONTROL") {
window.onbeforeunload = ConfirmLeave;
}else if (e.key.toUpperCase() == "F4" && prevKey == "ALT") {
window.onbeforeunload = ConfirmLeave;
}
prevKey = e.key.toUpperCase();
});
php代码是
$this->session->sess_destroy();
$this->load->driver('cache');
$this->cache->clean();
ob_clean();
redirect("login page");
答案 0 :(得分:0)
onbeforeunload事件在我们关闭浏览器以及按返回按钮时发生。无法区分这两个动作。