這個概念看起來很簡單,但是現在實現邏輯似乎令人望而生畏。javascript localStorage.clear()代碼更新
我在我的應用程序中使用localStorage,並且在更新代碼時我想清除它。
任何想法如何?
這個概念看起來很簡單,但是現在實現邏輯似乎令人望而生畏。javascript localStorage.clear()代碼更新
我在我的應用程序中使用localStorage,並且在更新代碼時我想清除它。
任何想法如何?
你可以存儲在腳本的代碼版本和比較,當你加載腳本:
var version = "1.0.4"; // remember to update this
if(localStorage.getItem("version") != version){
localStorage.clear();
localStorage.setItem("version", version);
}
$(function(){
...
如果不想手動跟蹤的版本,可以通過哈希生成的「版本」劇本。一個好的散列是實現的難易程度(這種排除MD5,除非你願意獲取一個庫),散列大小(你不想在localStorage中存儲腳本的一個副本)和它的檢測能力(所以字符串的長度可能不夠)。不用說,使用任何單一更改刪除所有存儲可能過於謹慎,所以我建議使用手動版本跟蹤方法,或者(更好地)重構應用程序,以便它可以使用以前的版本數據。
我接受此答案,儘管我在應用程序中稍微調整了它。我已經在使用一個shell腳本來處理更新和設置,所以我只是添加了一些行來將'git rev-parse HEAD'作爲版本添加到我的main.js的頂部,因爲我絕對需要每次清除localStorage有任何新的代碼。感謝您所有的幫助。 – story
將代碼版本存儲在本地存儲中,並比較腳本加載的版本。 –
不過你應該不需要這個。 –
爲什麼我不需要那個? – story