localstorage是默认情况下用户特定的吗?

时间:2015-07-23 13:26:45

标签: javascript html5 sharepoint local-storage

我使用

将一些数据存储在本地存储中
localstorage.setItem("key","value")

我了解localstorage是特定于浏览器的,现在即使我在同一浏览器中以不同的用户(sharepoint)身份登录,这个值仍会保留吗?

据我所知 localStorage持续到用户清除

我在this SO question读到了

  

持续时间

     

在DOM存储中,无法为其指定有效期   你的任何数据。所有到期规则都由用户决定。在里面   在Mozilla的情况下,大多数规则都是继承自的   Cookie相关的到期规则。因此你很可能   期望大多数DOM存储数据至少持续有意义   时间量。

这是否意味着本地存储只是浏览器特定的?即使在sharepoint中以不同用户身份登录,如果我使用相同的浏览器,localstorage值仍将保留? (鉴于我没有在注销/登录sharepoint中的操作中清除它)

2 个答案:

答案 0 :(得分:1)

  

我了解localstorage是特定于浏览器的,现在即使我在同一浏览器中以不同用户身份登录,此值仍会保留吗?

是。 肯定。

它与php会话等无关。没有。 LocalStorage已附加到浏览器。登录或注销,对localStorage没有影响。

  

即使以不同的用户身份登录,如果我使用相同的浏览器,localstorage值仍将保留?

答案 1 :(得分:1)

您可以使用自己的界面包装浏览器存储。它可以通过在写入时设置时间戳并在读取时检查它来到期。

var Storage = {
  get: function (key) {
    var item = localStorage.getItem(key)
    if (item) {
      var entry = JSON.parse(item)
      if (entry.expires && Date.now() > entry.expires) {
        localStorage.removeItem(key)
      } else {
        return entry.data
      }
    }
  },

  set: function (key, value, expires) {
    var entry = { data: value }
    if (expires) { entry.expires = expires }
    var item = JSON.stringify(entry) 
    localStorage.setItem(key, item)
  },
}