我是否必须使用会话存储或LocalStorage:javascript AWS

时间:2019-01-02 07:08:41

标签: javascript amazon-web-services session local-storage

我有以下情况

页面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对象。我只需要用于该会话,否则即使重新加载页面,数据也应该是持久的。

  1. 我必须使用localStorage吗?如果我将对象存储在localStorage中,应在什么时候清除存储空间?我应该如何在不同的用户之间进行处理?
  2. 我必须使用sessionStorage吗?数据可用性的范围是什么

我正在使用AWS服务。

1 个答案:

答案 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()