Javascript 如何在浏览器关闭时清除本地存储

Javascript 如何在浏览器关闭时清除本地存储,javascript,angularjs,local-storage,session-storage,Javascript,Angularjs,Local Storage,Session Storage,我在javascript中使用onload函数,但问题是,若浏览器是刷新的,那个么也会清除本地存储。 我只想在浏览器关闭时清除本地存储,而不刷新浏览器会话存储将在浏览器关闭时清除。。。否则,您可以执行窗口卸载侦听器并将其清除,但如果浏览器导航到另一个页面,这也将清除该页面 window.addEventListener('beforeunload', function(event) { localStorage.clear(); }, false); 为什么不改为使用sessionSto

我在javascript中使用onload函数,但问题是,若浏览器是刷新的,那个么也会清除本地存储。
我只想在浏览器关闭时清除本地存储,而不刷新浏览器

会话存储将在浏览器关闭时清除。。。否则,您可以执行窗口卸载侦听器并将其清除,但如果浏览器导航到另一个页面,这也将清除该页面

window.addEventListener('beforeunload', function(event) {
   localStorage.clear();
}, false);

为什么不改为使用
sessionStorage
,浏览器关闭时会丢弃它?@CertainPerformance,如果令牌会话存储在
sessionStorage
上,如果您想在另一个选项卡中打开某个应用程序链接,您应该执行登录过程。例如:在ERP上,您已在浏览时加载了
账单
,是否要在另一个选项卡上打开相关的
提供商
。如果使用会话存储,则新选项卡不知道令牌。如果使用本地存储,则会打开带有请求数据的新选项卡,但即使关闭浏览器,令牌仍会保留(可能是共享计算机的问题)是否存在折衷方法?在此函数中,执行浏览器刷新,而不是清除本地存储我的问题是,当浏览器刷新时,我不想清除本地存储。那么,本地存储也不是您想要的。您最好使用浏览器会话存储。