我想在关闭浏览器或关闭浏览器选项卡时清除一些localStorage变量。 它工作正常,但是当我刷新页面时,它也会清除localstorage变量。
因此,我们如何区分Angular-5中的页面刷新和浏览器关闭事件?。
我的.ts
文件代码
import { Renderer, OnInit, AfterViewInit,ElementRef,HostListener} from '@angular/core';
@HostListener('window:beforeunload', ['$event'])
beforeunloadHandler(event) {
localStorage.removeItem('rememberMe');
}
答案 0 :(得分:0)
这似乎是sessionStorage
的合适用例。
https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
sessionStorage属性允许您访问当前来源的会话存储对象。 sessionStorage类似于Window.localStorage;唯一的区别是,存储在localStorage中的数据没有设置过期时间,而存储在sessionStorage中的数据在页面会话结束时被清除。页面会话的持续时间只要浏览器处于打开状态,并且在页面重新加载和还原后仍然存在。在新标签页或窗口中打开页面将导致启动新会话,这与会话Cookie的工作方式不同。