HTML5缓存清单:后备部分&网络*

从Dive到HTML5:Cache Manifest:Fallback部分
CACHE MANIFEST
FALLBACK:
/ /offline.html
NETWORK:
*
我不明白这个代码块究竟做了什么的URL。回退部分的意思是什么时候找不到任何东西,显示
offline.html
页面 然后
network: *
所有资源都将被缓存?它也说   它使用常见的CSS,JavaScript和   每页上的图像。每一个   资源需要列出   明确地在
CACHE
这似乎与
network: *
冲突似乎说缓存一切?     
已邀请:
缓存清单中有三种类型的标题,CACHE,NETWORK和FALLBACK。在CACHE下隐式设置任何不在标题下的内容。每个部分的解释: CACHE:此标题下的文件将被缓存。 网络:此标题下的文件需要互联网连接,因此不会被缓存。 FALLBACK:此标题下的模式匹配的文件(例如模式“/”,匹配所有文件)并且尚未缓存,将显示一个后备文件。 关于从Dive到HTML 5的代码块,下面是“NETWORK:*”部分的解释:   这意味着,当你在浏览时   这个假设的离线启用   维基百科在线,您的浏览器将   获取图像和视频等   嵌入式资源通常,即使   他们在不同的领域。 (这个   在大型网站中很常见,即使是   它们不是离线网络的一部分   应用。生成HTML页面   并在当地服务,而图像和   视频由CDN提供   另一个域。)没有这个通配符   flag,我们的假设离线启用   维基百科在行事时表现得很奇怪   你在网上 - 特别是,它   不会加载任何外部托管   图像或视频! 以下引用:   它使用常见的CSS,JavaScript和   每页上的图像。每一个   资源需要列出   明确地在CACHE中 意味着您必须在CACHE标题下的清单中包含所有必需的CSS,Javascript和图像文件。它与'NETWORK:*'不冲突,因为NETWORK标题并不意味着'缓存所有内容'。它实际上意味着相反:NETWORK标题下的所有内容都需要互联网连接,不应缓存。     
我发现了更多有关FALLBACK的有用信息: 经过一些实验,我尝试了各种各样的事情,包括FALLBACK中的文件是否应该出现在CACHE或NETWORK部分中。答案似乎是否定的。 举个例子... 倒退: sign-up-portrait.png offline-portrait-1.png sign-up-landscape.png offline-landscape-1.png 我最近在我的一个微观网站上指定了这个。目的是在线时显示sign-up-png文件,在离线时显示offline-png文件。这很好用。特别是每行左侧的文件隐含地好像它们在NETWORK部分中一样,该站点将始终尝试使它们联机。它们也不能添加到NETWORK部分,否则它似乎会覆盖FALLBACK中的内容。 另外,幸运的是,右边的文件隐含式地好像是在CACHE:部分中添加的,所以即使它们最初没有被使用,它们也会在第一次加载时被缓存,而不必将它们显式地添加到CACHE:尽管你可以在那里添加它们你也想要。没什么区别。 对于此配置,查看Web服务器日志,我看到每次刷新页面时,apache都会针对清单文件和该版本页面所需的sign-up-png文件记录304(有一个CSS媒体)选择器根据页面大小确定哪个)。因此,它正确地检查sign-up-png文件以及通常的清单检查,这正是我想要的。 为了彻底,我试图查看根文件是否也需要在CACHE:部分中。事实证明它没有!如果您的顶级文件是index.html并且它的html标记中指定了清单文件,那么清单文件不需要在任何地方包含index.html,它会被隐式缓存。 我很好奇app缓存可以扩展多远。你能包含链接到或在iframe中的其他html文件吗?或者那些都需要拥有自己独立的清单文件?有人评论吗? 关于格式的侧面评论,不要犯我做的错误,这是放入... 网络 file1.js 缺少冒号导致它完全破裂,认为NETWORK本身就是一种资源。 肯定是... 网络: file1.js     

要回复问题请先登录注册