【问题标题】:Remove session storage when user leaves the app当用户离开应用程序时删除会话存储
【发布时间】:2017-07-04 16:53:05
【问题描述】:

我想在用户关闭我的应用程序时执行以下代码。

ngOnDestroy(): void {
    sessionStorage.clear();
}

简而言之,一旦用户离开我的应用程序,我想清除我的应用程序的 sessionStorage,但当用户刷新应用程序时,数据应保留。

应用程序关闭时 OnDestroy 似乎没有触发。

我也试过下面的代码

ngOnInit() {
   window.onbeforeunload = function () {
     sessionStorage.clear();
     return ''
   }
}

我知道这不是正确的地方,但刷新时这个清晰的数据也是如此 :( 而且这不适用于每个浏览器。

我在哪里可以放置此代码以获得我正在寻找的行为,或者是否有更好的方法来完成我想要完成的事情?

【问题讨论】:

    标签: angular angular2-services session-storage


    【解决方案1】:

    你可以试试这个:

    import { HostListener } from '@angular/core';
        @HostListener('window:unload', ['$event'])
        unloadHandler(event) {
            window.sessionStorage.clear();
        }
    

    将它添加到您的组件中(不一定在ngOnInit 中)。每当您关闭应用程序的浏览器或选项卡时,这将清除 sessionStorage

    【讨论】:

    • 完美:)。谢谢
    • 很高兴我能帮上忙 :)
    • 没有。对不起。当我刷新页面时,它还会清除会话存储
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    相关资源
    最近更新 更多