关于javascript:解决-sessionStroage-无法在多个标签页共享数据的问题

47次阅读

共计 580 个字符,预计需要花费 2 分钟才能阅读完成。

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')

正文完
 0