Angular 5 - Очистить localStorage, когда браузер закрыт - PullRequest
0 голосов
/ 14 ноября 2018

Я использую Angular 5 для своего веб-приложения.Я хочу очистить объекты localStorage всякий раз, когда пользователь закрывает окно браузера.

 @HostListener("window:beforeunload", ["$event"])
clearLocalStorage(event) {
    localStorage.clear();
    console.log('####Destroy local storage####');
}

Я не могу вставить вышеуказанный код в основной app.component.ts из-за других логик, таких как SSO в приложении.

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

Пожалуйста, предложите.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Локальное хранилище не является хорошим вариантом в вашем случае.

Локальное хранилище - Хранит данные без даты истечения срока их действия и очищается только с помощью JavaScript или путем очистки кэша браузера / локально сохраненных данных.

В то время как Session Storage - хранит данные только для сеанса, это означает, что данные хранятся до тех пор, пока браузер (или вкладка) не будет закрыт.

Так что используйте Session Storage для ваших целей. Он будет очищен автоматически при закрытии браузера.

0 голосов
/ 14 ноября 2018

Вместо этого вы можете использовать sessionStorage.

Сеанс хранения

Если вы используете упомянутый вами подход. Если вы открываете 2 вкладки одновременно, при закрытии одной вкладки локальное хранилище будет очищено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...