查了些资料和文章,都说保存到localStorage 或者sessionStorage 中,或者cookie中,各有优势和劣势。
国外的不少文章中都倾向与保存到sessionStorage中,但是sessionStorage 方法针对一个 session 进行数据存储,针对一个单页面程序或许有效, 但是当两个单页面程序需要共享登录状态的时候,那怎么办?
两个单页面程序,比如百度百科,百度贴吧这两个应用,登录了百度百科,百度贴吧也需要登录 那用sessionStorage肯定不行,localStorage又感觉太持久化了,下次浏览器打开还是登录的,我需要关闭了浏览器后登录状态就取消掉。
请教各位大牛在实际项目中都保存到哪里了。
如果信息量比较少,放在cookie,如果量比较大放在localstorage。
放在localstorage可以加个时间戳,每次使用的时候获取时间戳,和过期时间对比,没过期就能使用,过期了就重新获取。
你把过期时间设置短点就行了。
首先,需要明确一下你的两个单页面程序是什么意思。
另外,
sessionStorage 不能跨页面共享的,关闭窗口即被清除,
localStorage 可以同域共享,并且是持久化存储的,甚至还有 storage change事件,如:
document.addEventListener('storage', function(e){
//do some thing
})