关闭浏览器后如何清除本地存储?

时间:2019-08-02 10:08:23

标签: angular local-storage

关闭浏览器后如何清除本地存储?使用谷歌,我只发现了这个:

@HostListener("window:onbeforeunload",["$event"])
clearLocalStorage(event){
    localStorage.clear();
}

但是它会在更新页面后清除本地存储,但我不需要它。我也知道可以使用sessionStorage而不是localStorage,但这并不适合,因为我确实需要不仅将会话保存在一个浏览器选项卡中。如果关闭浏览器,还能如何清除本地存储?

ts:

export class AppComponent implements OnInit {

  constructor(private auth: AuthService) { }

  ngOnInit() {
    const potentialToken = localStorage.getItem('auth-token')
    if (potentialToken !== null) {
      this.auth.setToken(potentialToken)
    }
  }
}

1 个答案:

答案 0 :(得分:3)

尝试一下:

window.onbeforeunload = function (e) {
    window.onunload = function () {
            window.localStorage.isMySessionActive = "false";
    }
    return undefined;
};

window.onload = function () {
            window.localStorage.isMySessionActive = "true";
};