我正在使用localStorage在我的页面中创建一种cookie,以跟踪我网站中用户的活动。为了实现复古兼容性,我正在使用Store.js库。
我正在尝试实现的工作流程如下:如果存在名为“cookieName”的条目,请将其更新为包含pagesVisited中的另一个条目。如果不存在任何条目,请创建一个新条目,并将当前页面添加到访问过的页面。
实现我可以开始工作的编辑的方法是获取条目的当前数据,删除它,并创建一个具有更新值的新数据。我猜测,如果条目变大,这可能会使页面慢一点。
以下是图书馆Store.Js
的回购链接只是为了澄清,我使用localstorage而不是cookie,因为我不需要任何客户端 - 服务器通信(或者不是非常实际的)
答案 0 :(得分:1)
如果现有项目具有相同的密钥,则无需删除现有项目并编写新项目。 store.js-set-method在内部使用“localStorage.setItem”,它只会覆盖当前值。
除此之外,如果你想将这些数据存储在客户端,我没有看到任何其他方法。但请记住,域的总存储大小是有限的(请参阅此维基百科文章:http://en.wikipedia.org/wiki/Web_Storage),并且store.js在设置时似乎没有捕获任何异常一个值,所以你可能应该自己这样做(捕获配额超出异常),并在你的catch块中提供一个后备(似乎有一些浏览器在facebook上垃圾邮件本地存储)。如果你想要你可以清除总localStorage(store.js提供clear-method)并尝试再次保存你的价值