3

我正在使用 localStorage 在我的页面中创建一种 cookie,以跟踪用户在我的网站中的活动。为了实现复古兼容性,我使用了 Store.js 库。

我试图实现的工作流程如下:如果存在名为“cookieName”的条目,请将其更新为在 pagesVisited 中包含另一个条目。如果不存在条目,则创建一个新条目,并将当前页面添加到访问过的页面中。

实现我可以开始工作的编辑的方法是获取条目的当前数据,将其删除,然后使用更新的值创建一个新数据。我猜也许如果条目变大,这可能会减慢页面速度。

  1. 这是一个问题吗?它会减慢我的页面速度吗?
  2. 有没有更好的方法来使用 Store.js 进行编辑?

这是库Store.Js的 repo 的链接

澄清一下,我使用的是本地存储而不是 cookie,因为我不需要任何客户端-服务器通信(或者不是很常见)

4

1 回答 1

1

如果它们具有相同的密钥,您不必删除现有项目并编写一个新项目。store.js-set-method 内部使用“localStorage.setItem”,它只是覆盖当前值。

除此之外,如果您想将该数据存储在客户端上,我看不到任何其他方法。

但请记住,域的存储大小是有限的(请参阅此维基百科文章:http ://en.wikipedia.org/wiki/Web_Storage ),并且 store.js 在设置值时似乎没有捕获任何异常,因此您可能应该自己执行此操作(捕获超出配额的异常),并在您的捕获块中提供后备(似乎有些浏览器在其中 facebook 向本地存储发送垃圾邮件)。如果您愿意,您可以清除总 localStorage(store.js 提供清除方法)并尝试再次保存您的值

于 2013-06-13T11:59:09.780 回答