2017-07-04 44 views
1

我想在用户关闭我的应用程序时执行以下代码。用户离开应用程序时删除会话存储

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

在简单地说,我想清楚了我的应用程序的sessionStorage一旦用户从我的应用程序naviagates远,但是当用户刷新应用数据将被保留。

当应用程序关闭时,OnDestroy似乎不会启动。

我曾尝试下面的代码,以及

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

我知道这是不正确的地方,但在刷新这个清晰的数据,以及:(而且这并不在每一个浏览器。

我在哪里可以把这个代码来获取我正在寻找的行为,或是否有更好的方式来完成我试图完成

回答

1

你可以试试这个:

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

将其添加到您的组件(不一定在ngOnInit之内)。每当您关闭浏览器或选项卡时,这将清除sessionStorage

+0

完美:)。谢谢 – Gags

+0

很高兴我可以帮助:) – Haseoh

+0

没有抱歉。它还会在刷新页面时清除会话存储 – Gags

相关问题