2

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

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

有什么想法吗?

4

1 回答 1

4

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

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

$(function(){
  ...

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

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

于 2012-12-14T17:31:30.223 回答