系统关闭发生时,localStorage不会被清除

时间:2016-09-06 06:41:16

标签: javascript angularjs window local-storage onbeforeunload

我使用localStorage在标签之间共享数据。每当用户关闭标签/浏览器时,我都需要清除localStorage。我能够实现这一点,但问题是如果用户直接关闭系统或系统强制关闭,那么localStorage不会被清除。请为此提出任何解决方案。

我使用的是localStorage而不是sessionStorage,因为我希望跨标签共享数据。

3 个答案:

答案 0 :(得分:1)

当用户离开您的网站时,您基本上无法获取和处理活动。您经常会收到beforeunload,但不能保证。所以你必须围绕它编码。

  

每当用户关闭标签/浏览器时,我都需要清除localStorage

听起来您想使用sessionStorage而不是localStorage 不,sessionStorage似乎不会在标签之间共享。嗯,我以为是。

如果由于某种原因你无法使用sessionStorage代替localStorage我建议存储某种"最后使用过的&#34} #34;商店中的时间戳,如果您的页面下次加载时太旧,请在此时清除数据。

答案 1 :(得分:1)

sessionStorage,localStorage和Cookies都用于在客户端存储数据。每个都有自己的存储和到期限制。 sessionStorage:类似于localStorage,但在浏览器关闭时(不是选项卡)到期。 Cookie:存储必须随后发送回服务器的数据。

答案 2 :(得分:0)

如果要清除数据,会话存储将更有帮助。您可以将数据放在sessionStorage对象上,只要该窗口(或选项卡)打开,该数据就会持续存在。