猿问

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

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

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

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

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


RISEBY
浏览 1092回答 1
1回答

绝地无双

如果我面对这样的需求,我的做法:需求1: 采用LocalStorage, 但是Key名会携带过期时间,比如item&1494485763;需求2: 每次请求配置项,request 请求携带最后一次修改时间的cookie值;如果最后修改时间相同,则空返回,使用本地数据;否则返回最新的配置项;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答