赞
踩
不可以!
sessionStorage是浏览器会话级别的存储机制,它只在单个浏览器标签页(tab)或窗口之间共享数据,每当用户打开一个新的tab页或一个窗口时,sessionStorage会重新初始化,每个tab页和窗口都有自己独立的sessionStorage。
页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。
打开多个相同的URL的tab页,会创建各自的sessionStorage。
关闭对应浏览器tab页或窗口,会清除对应的sessionStorage。
- 通过新建标签页打开相同的页面会创建独立的sessionStorage。
- 通过window.open打开新的标签页,共享了原tab页中的sessionStorage。
- 通过a标签_blank方式打开tab页,Chrome86浏览器共享了sessionStorage,Chrome113和Firefox浏览器并没有共享。
所以通过a标签创建的页面,是否共享sessionStorage属于浏览器兼容的问题。
同时在A页面设置一些sessionStorage数据,然后a标签_blank的方式打开另一个tabB页面,发现B页面有A页面的数据,此时两个页面的sessionStorage相互独立,修改不会影响对方,所以称之为复制而不是共享。
如果需要在多个标签页和窗口之间进行数据共享,可以考虑其他机制,如localStorage或indexedDB.localStorage是在同一域名下的所有标签页或窗口之间共享数据的持久化存储机制。indexedDB是更强大的客户端数据库,可以在多个tab页和窗口之间共享和同步数据。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。