同一个浏览器在另一个窗口登录另一个账号,窗口切换时页面刷新

110 阅读1分钟

登录后用户信息存储在vuex中

如果在一个窗口登录A账号,存储的为A账号的用户信息, 此时新开一个窗口,则也是A账号的登录状态,退出A账号,登录B账号,用户信息应该是B账号的信息, 切换到第一个窗口,仍然展示A账号的信息,需要手动刷新页面才会更新

在main.js中监听

window.addEventListener("visibilitychange", function () {
  if (util.cookies.get('userId') && store.state.d2admin.user.info.user_info && util.cookies.get('userId') !== store.state.d2admin.user.info.user_info.id) {
    window.location.reload();
  }
})

浏览器标签页被隐藏或显示的时候会触发visibilitychange事件