如何在用户打开新标签页时重置 session/local 存储空间?

How to reset session/local storage when user opens a new tab?

如何在用户打开新的空白页(选项卡)时重置 session/local 存储空间?

我应该在哪个地方做?

我建议你看看这个 把这个放在你的根组件

您可以将登录的token设置到浏览器的localStorage中。

localStorage.setItem('token', tokenForLogin);

为了获取token使用的价值:

let token = localStorage.getItem('token')

在新标签页移除标记

localStorage.removeItem('token');

然后再次请求令牌并通过以下方式将其设置到本地存储:

 localStorage.setItem('token', tokenForLogin);

您可以将 focus/blur 事件附加到根组件中的 window。

例如 ->

// on opening of a new tab
window.addEventListener("focus", e => {
  console.log("onFocus", e);
  sessionStorage.clear();
  localStorage.clear();
});

// on closing the tab
window.addEventListener("blur", e => {
  console.log("onBlur", e);
});

localStorage.clear();

sessionStorage.clear();

一步删除所有值