用localStorage做webapp的缓存,如何解决更新的问题?

利用h5的webapp特性,我们可以做一些离线的应用,大概思路是这样的

http://stackoverflow.com/questions/32947129/html5-local-storage-vs-app-cache-offline-website-browsing

function initApp () {
  var data;
  if(offline) {
    data = loadFromLocalStorage();
  } else {
    data = loadDataWithAjax();
    storeDataInLocalStorage(data);
  }
  renderPlanning(data);
}

然后慕课网也有一个课程关于这个应用的 http://www.imooc.com/learn/46

我看了一下,原理挺好,但都忽视了一个问题,就是应用程序更新的问题。

简单地说来,当我的应用程序发生更新了,如何及时地更新localStorage里面的数据?

最好有一个比较好的解决方案。而且不要跟服务端耦合得太紧 比如腾讯的这个方案就与服务端有关 https://mtjs.github.io/

阅读 7.7k
2 个回答

既然客户端能收到你的应用程序的更新,就保证了其在联网状态,
哪就可以在更新程序的同时,更新localstorage里的内容啊

可以在localstorage中设置一个类似版本信息的标志,每次联网通过标志位决定是否需要更新localstorage

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题