Спасибо всем, я перепробовал много методов, в том числе и ваш, и не смог заставить его работать.
Мое решение было следующим: когда пользователь нажимает кнопку X (закрытие браузера), JavaScript onunload
функция будет вызвана.Эта функция имитирует нажатие кнопки logout
.Функция приостанавливает работу браузера до тех пор, пока не будет выполнен выход из системы.
Код:
window.onunload = function() {
document.getElementById('logoutLink').click();
windows.setTimeout(doNothingFunction,2000);
}
Одним из побочных эффектов является то, что эта функция будет вызываться при каждом переходе пользователя с текущей страницы, не только при закрытии окна.
Решение, при переходе от страницы к странице флаг, а именно closingWindow
, устанавливается на false
.Но когда пользователь нажимает кнопку X, флаг не будет установлен в значение false.
Новая функция для устранения побочного эффекта.
window.onunload = function() {
if (closingWindow){
document.getElementById('logoutLink').click();
windows.setTimeout(doNothingFunction,2000);
}
}