每个URL都可以链接到单个缓存清单。但我想要几个缓存清单链接到同一个URL。原因如下:
我想要缓存的一些文件很少更新,而且很大。因此,每次缓存更新时,这些大文件都会被重新下载,即使它们可能没有更改。所以我想拆分缓存。一个缓存用于这些很少更新的大文件,另一个缓存用于经常更新的轻文件。
你们知道如何拆分HTML5缓存吗?
发布于 2011-11-16 00:29:34
使用iframe
页面的缓存清单将包括轻量级文件,由此页面加载的iframe的缓存清单将包括大文件
在chrome上,iframe的应用程序缓存也将用于页面。我还没有在其他浏览器上测试这个方法。
在http://www.timer-tab.com上查看一个现场示例,如果您正在使用chrome,请参阅位于chrome://appcache-internals/的拆分缓存
发布于 2012-07-22 20:29:27
当清单文件发生更改并再次下载应用程序缓存的文件时,正常的HTTP缓存规则仍然适用。这意味着如果您为这些大文件设置了正确的HTTP缓存头,您将得到304,这样这些文件就不会被再次下载。因此,没有必要拆分应用程序缓存。
发布于 2014-07-14 20:28:53
也许是一个答案,但我更想解释一下我的发现,因为我对自己的webapp进行了故障排除。
我发现我可以使用2个iframe (manifest_framework)和(manifest_media)来加载清单,但我仍然不清楚它们是如何定位的,但我的成功有限。
manifest_framework:
CACHE MANIFEST
CACHE:
appdata.ini
dialog.png
jquery.min.js
login.htm
login.js
manifest.appcache.js
NETWORK:
*
FALLBACK:manifest_media:
CACHE MANIFEST
CACHE:
manifest_fwk.php
od/audio_track_1_1.m4a
od/audio_track_1_2.m4a
od/audio_track_1_3.m4a
od/audio_track_1_4.m4a
od/video_1.mp4
od/video_2.mp4
od/video_3.mp4
NETWORK:
*
FALLBACK:
./ webapp.php./index.php是“登录页面”的页面,该页面本身并未缓存,但在离线时会回退到webapp.php。
我不明白的是这些链接是如何链接到webapp.php页面的。我发现我只能访问一个或另一个清单缓存。上面的工作在移动safari中,媒体将被缓存,图像,但不一定是JS或框架中的图像清单。
有没有更多的例子可以从一个URL/页面引用多个清单?
https://stackoverflow.com/questions/7843531
复制相似问题