1. 改用 cookie 形式存储数据
2. 利用 window.addEventListener(‘stroage’) 监听 stroage 变动事件进行回调共享数据
1. 全局监听 stroage 事件
通过监听 localStroage 的数据变动进去读取出 token 值后进行 localStroage 删除
window.addEventListener('stroage', (e) => {if (e.storageArea === localStroage && e.key === 'token') // 监听到传入 token
sessionStroage.setItem('token', e.newValue)
localStroage.removeItem('token')
localStroage.removeItem('getToken')
else if (e.storageAreaArg === localStroage && e.key === 'getToken' && e.newValue === '1') // 监听到对方页面须要获取 token
localStrogae.setItem('token', userToken)
})
2. 在新的窗口启动前进行用户登陆状态判断
if (localStroage.getItem('isLogin') === 1)
localStrogae.setItem('getToken', '1')