解決 sessionStroage 沒法在多個標籤頁共享數據的問題

1.改用 cookie 方式存儲數據
2.利用 window.addEventListener('stroage') 監聽stroage變化事件進行回調共享數據

1.全局監聽stroage事件javascript

經過監聽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.在新的窗口啓動前進行用戶登錄狀態判斷java

if (localStroage.getItem('isLogin') === 1) 
    localStrogae.setItem('getToken', '1')
相關文章
相關標籤/搜索