当用户关闭反应应用程序窗口时,如何清除本地存储?

sim*_*ang 7 javascript reactjs redux

我正在开发一个 react-redux 应用程序,一旦用户登录,我就会在本地存储中存储有关用户的一些信息。这样我就可以在用户执行操作时轻松检索用户信息。

如果用户关闭浏览器窗口,我想清除反应应用程序的所有本地存储。我怎样才能做到这一点?

Tus*_*har 9

你可以只使用 JS 函数:

localStorage.clear();
Run Code Online (Sandbox Code Playgroud)

在窗口关闭时触发事件

window.onbeforeunload = function() {
   localStorage.clear();
}
Run Code Online (Sandbox Code Playgroud)

  • 恐怕那是相当不可预测的。是否可以在用户打开网站时清除存储空间?https://www.w3schools.com/jsref/event_onunload.asp (2认同)

Gib*_*boK 6

您可以考虑使用Window.sessionStorage代替Window.localStorage.

当页面会话结束时,存储在 sessionStorage 中的数据将被清除。页面

只要浏览器打开,会话就会持续,并在页面重新加载后继续存在。来源

  • 仅当您不想跨选项卡共享数据时才有效! (3认同)