选择性清除HTML5应用程序缓存中的项

选择性清除HTML5应用程序缓存中的项,html,caching,manifest,Html,Caching,Manifest,HTML5应用程序缓存API要求浏览器重新加载清单文件的缓存部分中声明的所有文件(当清单文件已更改并且在applicationCache API上调用update时) 我的清单文件包含数千个条目。告诉浏览器只重新加载已更改的文件有什么诀窍吗?由于无法控制缓存清单中列出的文件的缓存行为,我遇到了类似的问题。事实证明,您可以通过使用iframe来控制这个过程 该策略是将主缓存清单中列出的数千个文件划分为单独的(更易于管理的缓存清单),然后创建大量虚拟HTML页面,每个页面都引用缓存清单。然后,对于每

HTML5应用程序缓存API要求浏览器重新加载清单文件的缓存部分中声明的所有文件(当清单文件已更改并且在applicationCache API上调用update时)


我的清单文件包含数千个条目。告诉浏览器只重新加载已更改的文件有什么诀窍吗?

由于无法控制缓存清单中列出的文件的缓存行为,我遇到了类似的问题。事实证明,您可以通过使用iframe来控制这个过程

该策略是将主缓存清单中列出的数千个文件划分为单独的(更易于管理的缓存清单),然后创建大量虚拟HTML页面,每个页面都引用缓存清单。然后,对于每个伪HTML,将一个链接到它的iFrame添加到主HTML文档中。您可以将iFrame放在一个不可见的div中,这将使技巧对用户不可见

当每个iFrame加载时,它会检查其各自的缓存清单。如果该缓存清单中的任何文件发生更改,则iFrame将仅缓存其文件子组。您可以智能地将相关文件分组在一起,具体取决于您希望它们更改的程度

更好的是,您可以在用户交互的任何时候在主HTML上动态插入iFrame,并且只有在加载iFrame时,才会触发缓存进度