我有以下情况
页面1有一个链接,当用户单击它时,它会导航到带有页面重新加载的门户页面。因此,在导航之前,就创建了一个JSON对象
该对象的大小大约为4KB。
样本对象
let obj = {
"date":"12/31/2018",
"year":"2019",
"zip":"93252",
"members":[
{
"sdf":true,
"age":21,
"fdssss":false,
"aaaa":false,
"fdss":null,
"fsdfsd":[
"ADULT"
]
},
{
"sdf":true,
"age":21,
"fdssss":false,
"aaaa":false,
"fdss":null,
"fsdfsd":[
"ADULT"
]
}
}
该门户网站页面上有一个后退链接,点击页面后将重新导航到页面1,并重新加载页面。
因此,当页面返回时,我需要再次返回创建的JSON对象。我只需要用于该会话,否则即使重新加载页面,数据也应该是持久的。
localStorage
吗?如果我将对象存储在localStorage
中,应在什么时候清除存储空间?我应该如何在不同的用户之间进行处理?sessionStorage
吗?数据可用性的范围是什么我正在使用AWS服务。
答案 0 :(得分:2)
第一季度:
您可以拥有localStorage
,并且在加载第一页时应该在代码处进行处理,并且当用户注销或登录时可以将其删除,如果浏览器不是用户,则存储是关于浏览器而不是用户,如果一台计算机后面有一些用户您必须手动清除所有数据。
第二季度:
您还可以为每个标签设置sessionStorage
,并通过关闭浏览器将其删除。
详细信息:
这取决于您的方案,这意味着localStorage
使用了很长时间,而sessionStorage
则需要临时存储时使用。
但是关于sessionStorage
的重要一点是,如果您关闭选项卡并完全删除sessionStorage
并关闭窗口,则每个选项卡都存在该标记,它用于诸如用户名和密码之类的关键数据,而{{1} }用于在浏览器中共享数据。
localStorage
没有到期日期,并且仅通过代码或清除浏览器缓存或本地存储的数据来清除,而localStorage
对象仅针对会话存储数据,这意味着数据已存储直到浏览器(或标签)关闭。
最后,我建议您使用sessionStorage
,因为您可能要在关闭浏览器后在整个浏览器事件中共享该数据,并且可以存储更多数据,另一方面,当您如果使用过的存储空间,则应手动处理并保重。
假设:
localStorage
在登录或注销成功操作调用function removeStorage()
{
var obj = localStorage.getItem('obj');
if(obj !== null)
localStorage.removeItem('obj')
}
中以及在Page1加载中,如下所示:
removeStorage()