当请求页面时,它将根据清单文件进行缓存。但是,当页面更新,并且设备处于联机状态时,即使计算机处于脱机状态(在线),文件也不会更新。
我们如何解决这个问题?有没有办法告诉客户端从服务器加载页面,而不是在线时加载缓存?
答案 0 :(得分:2)
在尝试上线之前,已缓存的离线应用将始终从缓存加载。
话虽如此,您可以创建一个动态缓存清单,如果有任何文件发生更改,它将自动更新,即使没有添加/删除文件也是如此。基本上,您创建每个文件的哈希值,如果哈希值更改,则更新清单。我将详细解释如何更详细地执行此操作here(最初发布的概念here)。
答案 1 :(得分:0)
请看这里:http://www.w3.org/TR/html5/offline.html#appcacheevents
显然,当页面声明清单时,浏览器应查看清单文件以查看是否有任何更改,然后刷新它提到的所有资源(如果有)。如果清单文件没有更改,则不会刷新任何其他内容。
我想你会改变清单文件中的注释,以便当资源名称的实际列表没有改变时,可能会发现它已经改变了 - 可能是版本号或日期注释。