在某些情况下,我一直在使用localStorage来为应用程序的用户保留一些信息。我使用有助于识别用户的密钥。
简单示例:
var key = localStorage.getItem("@Membership.GetUser().Username-SomeKey");
假设我想在客户端上保留此信息,但我希望在代码更改(即新版本)时将其删除。让我们假设代码更改可能会导致某些本地存储的值包含“坏”数据。
当有新版本时,擦除localStorage的简单方法是什么?
答案 0 :(得分:2)
我会开始跟踪localStorage中程序集的内部版本号。然后,您可以在页面加载时检查localStorage版本是否与您的程序集版本匹配。如果没有,请调用localStorage.clear()
,然后将新的内部版本号插入localStorage。
对伪代码的种类:
if (localStorage.getItem("AssemblyVersion") !== @GetAssemblyVersion) {
localStorage.clear();
localStorage.setItem("AssemblyVersion", @GetAssemblyVersion);
}
有other questions演示如何获取程序集版本。您可以将其包装在Razor helper function中或将其添加到您的模型中。您需要做的就是确保每次构建时更改程序集版本。