Цель состоит в том, что если пользователь вышел из системы или localStorage
не найден, он должен автоматически перенаправить на страницу входа и выйти из всех открытых вкладок в одном браузере.Если пользователь нажимает кнопку выхода из системы, он будет перенаправлен на страницу входа в систему, а если пользователь вручную очищает историю просмотра (в это время localStorage
кажется пустым), он автоматически перенаправляет на страницу входа.Следующий код не работал при открытии с одной вкладкой и при удалении истории браузера (localStorage
пусто).Есть предложения?
function signOutAllTab() {
var allTabLogOut = 'allTabLogOut';
try {
localStorage.setItem(allTabLogOut, allTabLogOut);
//localStorage.removeItem(allTabLogOut);
return true;
} catch (e) {
return false;
}
}
window.addEventListener('storage', function (event) {
if (event.key == 'logout-event') {
window.location = 'signin?logoutAllTabs=yes';
}
}, false);
$(document).ready(function () {
if (signOutAllTab() && signOutTabs) {
$('#allSignOut').on('click', function () {
localStorage.setItem('logout-event', 'logout');
return true;
});
setInterval(function () {
if (!localStorage.getItem("allTabLogOut"))
localStorage.setItem('logout-event', 'logout' + Math.random());
}, 1000);
}
});
С уважением,
Саси