【问题标题】:Angular 8 - clean localStroage generated by iframeAngular 8 - 清除 iframe 生成的 localStorage
【发布时间】:2020-05-07 19:14:49
【问题描述】:

您好,我正在使用 Angular 8 开发一个项目(比如 projectA),该项目有一个加载另一个网站(比如 projectB)的 iframe。 iframe 中的网站也是用 Angular 8 和 ngrx 编写的,并且 ngrx 状态保存在 localStorage 中。

当我通过重定向到另一个页面从 projectA 卸载 iframe 时,我假设 prjectB 已被破坏,并且应该删除保存在 localStorage 中的数据。

我在 projectB 的 onDestroy 中打印了一条消息,但它没有显示在控制台中。而当我再次加载 iframe 时,我发现状态已恢复。

卸载 iframe 后,我是否可以清理 localStorage?

谢谢

【问题讨论】:

    标签: angular iframe


    【解决方案1】:

    我认为您可以尝试在单个框架应用程序中使用文档(应用程序)加载/卸载事件来清理本地存储,例如

    document.onbeforeunload = function() {
      localStorage.clear(); 
      return '';
    };
    OR
    document.load = function() {
          localStorage.clear(); 
          return '';
        };
    

    或者,在框架集加载时注册一个窗口级别的偶数监听器,并在使用 ngOnInit() 时从单个应用程序触发所需的偶数/自定义事件,例如

     window.addEventListener('load',  function() {
          localStorage.clear(); 
          return '';
        };
      )
    

    【讨论】:

      猜你喜欢
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 2020-03-29
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      相关资源
      最近更新 更多