在网页上,当用户点击登出按钮时,我有一个 JavaScript 函数会清除存储在 MongoDB 上的用户会话。它运行正常。
此外,我希望在用户关闭浏览器时也清除用户会话。这里遇到了一个问题:当用户点击刷新图标时,登出函数会被调用。我只想在浏览器关闭时调用此函数。
我能否防止在页面刷新时调用此函数?
我的逻辑是在关闭浏览器时清除会话。我正在删除存储在 MongoDB 中的会话。是否有更好的管理会话的方法?
此外,我希望在用户关闭浏览器时也清除用户会话。这里遇到了一个问题:当用户点击刷新图标时,登出函数会被调用。我只想在浏览器关闭时调用此函数。
我能否防止在页面刷新时调用此函数?
我的逻辑是在关闭浏览器时清除会话。我正在删除存储在 MongoDB 中的会话。是否有更好的管理会话的方法?
var isRefresh = false;
$(window).keydown(function (event) {
if (event.keyCode == 116) { // User presses F5 to refresh
refresh = true;
}
});
// Calls the logout function when you close the browser thus cleans the session data.
var windowsCloseEventListener = window.attachEvent || window.addEventListener;
var chkForBrowserCloseEvents = window.attachEvent ? 'onbeforeunload' : 'beforeunload'; /// make IE7, IE8 compitable
windowsCloseEventListener(chkForBrowserCloseEvents, function (e) { // For >=IE7, Chrome, Firefox
if (!isRefresh) {
$scope.logout();
}
});