Закладка браузера закрывает сеанс пользователя - PullRequest
4 голосов
/ 17 октября 2019

Когда пользователь закрывает последнюю вкладку нашего приложения, мы должны выйти из системы из системы пользователя.

Когда мы ищем об этом, большинство блогов и ответов StackOverflow предлагают использовать перед загрузкой или unload EventListener для обнаружения закрытия вкладки, но реальная проблема заключается в beforeunload / unload прослушиватель событий запускается при перезагрузке браузера, пользователь переходит к другому изакрытие вкладки

Мы нашли этот обходной путь в потоке StackOverflow, нас мало интересует использование приведенного ниже кода. Есть ли другой способ найти вкладку браузера закрытой.

var validNavigation = false;

function wireUpEvents() {
  window.addEventListener('beforeunload', function (){
    if (!validNavigation) {
      logoutUser()
    }
  })

  $("a").bind("click", function() {
    validNavigation = true;
  });

  $("form").bind("submit", function() {
    validNavigation = true;
  });
}

$(document).ready(function() {
  wireUpEvents();
});
...