场景:多个窗口同时登陆,其中一个窗口进行退出登录操作后其他窗口同步退出登录
1、登录时保存一个标识在localStorage,用于判断是否退出登录,同时进行localStorage监听
// 保存标识
localStorage.setItem(标识字段, 值)
// 监听localStorage localStorageWatch为localStorage变化时的执行方法
window.addEventListener('storage', localStorageWatch)
2、在其中一个窗口退出登录时的逻辑处理
const localStorageWatch = (e: any) => {
if (e.key === 标识字段 && e.newValue !== 值) {
// 跳转未登录是的页面
...
// 清空缓存
localStorage.clear()
sessionStorage.clear()
// 清除监听localStorage
window.removeEventListener('storage', localStorageWatch)
}
}