这个概念看起来很简单,但现在实现逻辑似乎令人生畏。
我在我的应用程序中使用 localStorage,我想在更新代码时清除它。
有什么想法吗?
您可以将代码版本存储在脚本中,并在加载脚本时进行比较:
var version = "1.0.4"; // remember to update this
if(localStorage.getItem("version") != version){
localStorage.clear();
localStorage.setItem("version", version);
}
$(function(){
...
如果您不想手动跟踪版本,可以通过散列脚本生成“版本”。一个好的散列是在易于实现(这有点排除 MD5,除非你愿意获取一个库)、散列大小(你不想在 localStorage 中存储脚本的副本)和它的检测能力之间取得平衡(所以字符串长度可能不够)。
不用说,删除任何单个更改的所有存储可能过于谨慎,因此我建议手动版本跟踪方法,或者(更好)重构应用程序,以便它可以使用以前的版本数据。