Я пытаюсь поставить логику, когда пользователь закрывает браузер / вкладку, тогда мне нужно очистить локальную сессию.поэтому я использовал beforeunload
событие.Проблема в том, что он вызывается как при закрытии браузера, так и при обновлении страницы.и мне не нужно очищать сессию при обновлении, она должна быть закрыта.Я пытался проверить только с помощью clientY
и pageY
, но у меня это не работает.Также я попытался с помощью приведенного ниже кода определить, будет ли браузер обновляться или нет, установить значение флага и использовать его в событии beforeunload
.но он вызывается после beforeunload
event
this.subscription = this.router.events.subscribe((event) => {
if (event instanceof NavigationStart) {
this.browserRefresh = !this.router.navigated;
if(this.browserRefresh)
{
console.log("browserRefresh");
}
else
{
console.log(" else browserRefresh");
}
}});
@HostListener('window:beforeunload', ['$event'])
beforeunload($event) {
console.log("clear session");
}
Пожалуйста, предложите, если я использую неправильное событие для задачи, или предложите мне правильный путь к этому.Я проверил несколько предложенных ссылок, но ничего не помогает.Спасибо