Разница в событии закрытия браузера и вкладки для beforeunload

#javascript #reactjs #browser-close

#javascript #reactjs #браузер-закрыть

Вопрос:

Я работаю с Reactjs, и у меня есть это требование, когда мне нужно различать событие закрытия браузера и событие закрытия вкладки. Для этого я использую ‘beforeunload’, но событие вызывается для обоих событий (браузер и закрытие вкладки).

Мой код выглядит так —

 componentDidMount() {
    window.addEventListener('beforeunload', this.handleUnload);
}

componentWillUnmount() {
    window.removeEventListener('beforeunload', this.handleUnload);
}
 
 handleUnload(e) {
    var message = "o/";
    console.log(window.event);
    (e || window.event).returnValue = message; //Gecko   IE
    return message;
 }
 

Может кто-нибудь сказать мне, как я могу различать эти два события.

Комментарии:

1. Просто любопытно, для чего вам это нужно? Пользователь все равно покидает вашу веб-страницу.

2. Это полностью зависит от требований к истечению срока действия пользовательского сеанса.

3. Итак, вы хотите удалить файл cookie только тогда, когда пользователь закрывает браузер, а не когда он закрывает вкладку, верно?

4. Да @SergiuParaschiv