问题出现的环境背景及自己尝试过哪些方法
问题背景
同一个浏览器登录多个账户,刷新各自的标签页,能实现彼此不受影响。
思考的方案
A 如果能得到当前标签的某个类似ID的唯一信息,那么就可以在刷新的时候通过这个唯一信息建立的索引来获取当前标签页的缓存信息。(最佳)
B 通过监听刷新事件,临时存储在一个公共信息。这样可以保证在单次只刷新一个页面的情况下,不会受另外标签页的缓存信息影响。(应急方案)
最终方案分享
- sessionStorage作为暂存标签ID的地方,来获取对应关键信息的索引。
- token这些还是会通过这个ID为索引存储在cookie,或者localStorage。
有人肯定会有疑惑,从安全角度考虑token不是存在sessionStorage里面更好?并且这种支持多账户登录,也不能支持缓存登录了……
然后我发现其实还是可以支持缓存登录的,只需在登录页面增加一个快速登录入口,对于本地多缓存账户提供一个选择登录即可。
可以把登录信息保存在SessionStorage里面,不过这只能实现同一个浏览器,不同窗口登录不同的用户