如何保持本地存储会话特定?

How to keep localstorage session specific?

所以我们有一个 Web 应用程序,可以通过来自电子邮件的 link 访问。当用户单击 link 时,我们调用 Web 服务将必要的数据拉到客户端。然后,此数据在用户会话期间存储在客户端的本地存储中,并在之后清除。

这里的问题是,如果用户单击 link 两次并退出其中一个会话,则两个会话的本地存储都会被清除。

所以我一直在考虑解决这个问题,以下是我可能的解决方案:

  1. 对同一域的外部 link 重复使用同一选项卡。但截至目前 not possible
  2. 将会话 ID 附加到本地存储的键,并在注销时仅清除它们。但是在这种情况下,如果有人没有正确注销,本地存储项目仍然会存在,我们不希望这样。

所以我想知道是否有任何方法可以使本地存储会话保持特定状态,或者我是否应该完全跳过本地存储。谢谢!

使用 sessionStorage 而不是 localStorage。 sessionStorage 特定于选项卡,那些将在该选项卡上被清除。但是 sessionStorage 特定于从点 window 打开到 window.

结束的一个会话