1.项目只有登录,没有退出登录。
2.所以一开始想的是关闭浏览器,storage存储的数据自动失效,于是想到用sessionStorage。
3.但在开发过程中发现,当你在一个页面存储,新建一个标签页会导致sessionStorage的失效,查了下发现新开标签页也代表退出当前对话,所以自然地想到换用localStorage。
4.但是,项目只有登录没有退出登录,localStorage会一直存储,何时做清空呢?是退出整个浏览器而不只是退出某一标签页才做清除吗?
1.项目只有登录,没有退出登录。
2.所以一开始想的是关闭浏览器,storage存储的数据自动失效,于是想到用sessionStorage。
3.但在开发过程中发现,当你在一个页面存储,新建一个标签页会导致sessionStorage的失效,查了下发现新开标签页也代表退出当前对话,所以自然地想到换用localStorage。
4.但是,项目只有登录没有退出登录,localStorage会一直存储,何时做清空呢?是退出整个浏览器而不只是退出某一标签页才做清除吗?
你每次调用ajax接口的时候用withCredential带上cookie或者从LocalStorage中取出token带在head头上让后端判断是否失效返回某个errorNo给你不就好了 你判断是这个no就清空LocalStorage跳回到登录页
看你去需求啊,如果该项目退出浏览器 但是因为不小心 再次点进来还需要重输入吗? 这个一个问题
还要如果退出某个标签页清空 那你假如进入别的页面有需要到权限 或者用户的一些东西又该如何
这些应该跟产品协商他到底要什么结果
我刚好最近也遇到了这个问题,后面解决的方法是 在页面退出的时候修改localStorage中之前存储的值,改成一个特定的值,然后别的打开着的标签用storage监听这个值的变化,如果能监听到,再把他设置成原来的值,直到监听不到了,说明全部关闭了,然后在载入的时候,判断localStorage的值是不是你之前设置的特定值,如果是,就清空,相当于退出。希望对你有帮助。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
看你说的你现在就想用LocalStorage 对吧
然后问题在怎么清数据对吧
默认保存1天或者多少天,对比下时间戳,到时候把LocalStorage数据清就好了