HTML5应用程序缓存,刷新单个文件

时间:2015-05-05 11:24:48

标签: javascript html5 application-cache

我使用应用程序缓存使我的webapp无法访问Internet。当新版本的应用程序准备就绪时,清单文件将更改为触发重新下载应用程序。

该应用程序使用了大量的json数据,而我所做的是让应用程序通过启动时的ajax调用下载json数据,并在使用之前将其放入localStorage。如果用户处于脱机状态,则应用程序将从localStorage而非网络中获取数据。

然而,应用程序中有很多东西都在使用localStorage,所以为了避免达到存储配额上限,我想尝试将json数据移出那里。我的想法是通过应用程序缓存使数据脱机,就像应用程序代码一样。

我想要的行为是,无论何时用户具有互联网访问权限,他们都会从服务器上新获取json数据,而每当用户离线时,他们都会获得json数据的最后一个缓存版本。

我想我可以通过简单地将json数据的网址放在NETWORK:部分下面,然后为重定向到缓存版本的相同网址放置一个FALLBACK:子句来做到这一点,这样如果网址用户无法通过后备服务获得服务。

然而,这种方式存在缺陷,因为当用户重新获得他的互联网访问权并从服务器获取新数据时,FALLBACK:url中缓存的数据将不会更新以匹配最新的数据。也就是说,除非我更改清单文件并强制重新下载整个webapp,否则我不想这样做。我的json数据经常变化,所以我想避免这个问题。

从我的Google搜索中,无法以编程方式使应用程序缓存中的单个文件无效。有没有办法解决这个问题?

或者没有办法让应用程序缓存按照&#34的原则运行;如果可用的话,总是使用在线版本"?

0 个答案:

没有答案