2017-07-04 141 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

相關問題