use*_*398 5 html5 caching manifest
HTML5应用程序缓存API要求浏览器重新加载清单文件的CACHE部分中声明的所有文件(当清单文件已更改并在applicationCache API上调用更新时).
我的清单文件包含数千个条目.是否有任何技巧告诉浏览器只重新加载已更改的文件?
由于缺乏对缓存清单中列出的文件的缓存行为的控制,我遇到了类似的问题。事实证明,您可以通过使用 iFrame 来对此过程进行一些控制。
该策略是将主缓存清单中列出的数千个文件划分为单独的(且更易于管理的缓存清单),然后创建大量虚拟 HTML 页面,每个页面都引用一个缓存清单。然后,对于每个虚拟 HTML,您将链接到它的 iFrame 添加到主 HTML 文档中。您可以将 iFrame 放入不可见的 div 中,这将使用户看不到该技巧。
当每个 iFrame 加载时,它会检查其单独的缓存清单。如果该缓存清单中的任何文件发生更改,则 iFrame 将仅缓存其文件子组。您可以智能地将相关文件分组在一起,具体取决于您期望它们更改的程度。
更好的是,您可以在用户交互的任何时刻在主 HTML 上动态插入 iFrame,并且只有当加载 iFrame 时,才会触发缓存进度。