【问题标题】:local storage on window unload event窗口卸载事件的本地存储
【发布时间】:2012-11-20 05:33:54
【问题描述】:

我正在使用本地存储来存储一些数据:用户发出 ajax 请求以获取信息,我将结果存储在存储中,以便下次他请求相同的信息时,我首先查看存储是否在那里。

现在我意识到将数据保存在内存中的对象中并在需要时循环访问它实际上更有效,而不是循环访问本地存储。因此,当我将一些数据从本地存储移动到内存对象时,我想知道 window.unload 事件是否可以可靠用于将该缓存对象的内容写入本地存储在磁盘上,然后使用 onload 事件将其取回?

谢谢。

【问题讨论】:

  • 不,即使经常有效,这也不可靠。但是在 localStorage 中写入速度很快,您不能每次更改时都将对象转储到 localStorage 中(但仅在页面加载时加载)?
  • @dystroy:你能告诉我怎么做吗?这意味着我需要能够听到对象的变化;我该如何编码?
  • 我对 8 年后的更新感兴趣。依靠事件(卸载)来保持我的应用程序状态似乎真的很优雅。

标签: javascript local-storage


【解决方案1】:

window.unload 在许多情况下可能不会被调用,例如,如果用户关闭选项卡或浏览器崩溃。为什么不定期将数据保存到 localStorage 以防万一?

【讨论】:

  • 并不是每个浏览器都支持window.unload。
  • ^ 是的,我记得不久前 Mobile Safari 出现过问题。
  • 那么定期保存数据的问题是,如果页面上的数据发生变化,还必须同步存储中的数据。这实际上是我决定从存储中删除缓存的原因。
  • 来源?在specMSDN page 上看不到这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 2011-03-08
相关资源
最近更新 更多