Angular 8 - чистый localStroage сгенерированный iframe - PullRequest
0 голосов
/ 07 мая 2020

Привет, я работаю над проектом (скажем, projectA) с Angular 8, в котором есть iframe, который загружает другой веб-сайт (скажем, projectB). Веб-сайт в iframe также записывается в Angular 8 с ngrx, а состояние ngrx сохраняется в localStorage.

Когда я выгружаю iframe из projectA путем перенаправления на другую страницу, я предполагаю, что prjectB уничтожен, и данные, сохраненные в localStorage, должны быть удалены.

Я печатаю сообщение в onDestroy в projectB, но оно не отображается в консоли. И когда я снова загружаю iframe, я обнаружил, что состояние восстановлено.

Можно ли как-нибудь очистить localStorage, когда iframe выгружен?

Спасибо

1 Ответ

0 голосов
/ 07 мая 2020

я думаю, вы можете попробовать использовать события загрузки / выгрузки документа (приложения) в приложении отдельного фрейма для очистки локального хранилища, например

document.onbeforeunload = function() {
  localStorage.clear(); 
  return '';
};
OR
document.load = function() {
      localStorage.clear(); 
      return '';
    };
* 1003 требуется even / customevent из отдельного приложения при использовании ngOnInit (), например,
 window.addEventListener('load',  function() {
      localStorage.clear(); 
      return '';
    };
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...