如果您想在多个标签中使用SessionStorage(似乎是正确的),则可以在标签之间复制其数据,例如使用LocalStorage
event(请参见下面的代码示例)或BroadcastChannel(如本问答中所述),或实施自动登录,就像其他解决方案一样。
(function(){
if (!sessionStorage.length) {
// trigger the event to get anything from other tabs
localStorage.setItem('getSessionStorage', Date.now());
};
window.addEventListener('storage', function(event) {
if (event.key == 'getSessionStorage') {
//set and remove, so do not really keep the data in LS, but push it into event
localStorage.setItem('sessionStorage', JSON.stringify(sessionStorage));
localStorage.removeItem('sessionStorage');
} else if (event.key == 'sessionStorage' && !sessionStorage.length) {
var data = JSON.parse(event.newValue);
for (key in data) {
sessionStorage.setItem(key, data[key]);
}
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句