javascript - 如何在浏览器不同标签页中共享数据?localStorage和sessionStorage是否可行?

查看:600
本文介绍了javascript - 如何在浏览器不同标签页中共享数据?localStorage和sessionStorage是否可行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

概述: 一个系统登录后,存在一个页面配置一些信息,然后配置完信息可以继续操作其他页面,但是我一般的操作习惯是打开两个标签页,一个标签页就是配置页面一直打开着,另一个标签页就是操作页面;

需求1: 目前我是将部分配置信息放入sessionStorage中,但是两个标签页的sessionstorage是不共享的,只有当前页面配置当前页面操作其他页面才有效,至于不用localStorage的原因是配置信息会一直存着,下次登录后不会更新配置信息。

需求2: 目前前台获取sessionStorage中的信息的逻辑是这样的,如果存在该item并且不为空,便直接用了,不会去后台取,这样的问题是多用户端场景时,其他用户更改了配置,当前客户端不能及时获取最新配置信息,我有一个思路是参照http 3xx的做法,每次前台get配置信息时,都往后台放松一个请求,如果lastmodifiedtime不变的话,继续用本地的数据,一旦变了便返回最新的配置信息,各位有什么好的建议一起分享出来吧!

不知有没有大侠有比较好的思路和建议

解决方案

如果我面对这样的需求,我的做法:

需求1: 采用LocalStorage, 但是Key名会携带过期时间,比如item&1494485763;

需求2: 每次请求配置项,request 请求携带最后一次修改时间的cookie值;如果最后修改时间相同,则空返回,使用本地数据;否则返回最新的配置项;

这篇关于javascript - 如何在浏览器不同标签页中共享数据?localStorage和sessionStorage是否可行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆