关于代码更新的javascript localStorage.clear()

时间:2012-12-14 17:16:45

标签: javascript local-storage

这个概念看起来很简单,但现在实施逻辑似乎令人生畏。

我在我的应用中使用localStorage,我想在更新代码时清除它。

任何想法如何?

1 个答案:

答案 0 :(得分:3)

您可以将代码版本存储在脚本中,并在加载脚本时进行比较:

var version = "1.0.4"; // remember to update this
if(localStorage.getItem("version") != version){
  localStorage.clear();
  localStorage.setItem("version", version);
}

$(function(){
  ...

如果您不想手动跟踪版本,可以通过散列脚本来生成“版本”。一个好的哈希是在易于实现之间的平衡(这有点排除MD5,除非你愿意获取库),哈希大小(你不想在localStorage中存储脚本的副本)及其检测能力(所以字符串长度可能不够)。

毋庸置疑,删除任何单个更改的所有存储可能过于谨慎,因此我建议使用手动版本跟踪方法,或者(更好)重构应用程序,以便它可以使用以前的版本数据。