为什么HTML5应用程序缓存的每个文件都需要清单属性?

时间:2014-02-21 18:17:28

标签: caching attributes manifest html5-appcache

我知道需要将manifest属性添加到每个希望缓存的文件中,我发现很多资源都说明了这一点,但没有一个可以解释原因。我真的很想知道为什么这是必需的。

我认为它就像将样式表链接到文件一样。这是正确的假设吗?

温暖。

1 个答案:

答案 0 :(得分:1)

我在这里做了一个有根据的猜测;我不确定这是什么原因。

如果您有多个HTML网页属于您的应用,并且您只在main.html上有清单声明,但您的用户会回到您的应用(已安装)并加载display.html没有清单声明,用户的浏览器不知道缓存中的页面是离线应用程序的一部分,而不仅仅是在缓存中#34;。然后,浏览器将在线验证缓存页面是否仍然有效。如果用户的浏览器处于离线状态,则浏览器会抱怨它无法加载该页面。

相反,如果用户访问main.html,浏览器将查看它在缓存中找到的页面,查看清单声明并在联机检查时显示应用程序清单文件是否仍然有效。如果浏览器处于脱机状态,那么它将只使用缓存文件而不向用户显示任何错误,因为显示的文件(main.html)被认为是有效的,因为它是"离线"应用程序的一部分和浏览器无法证明"该文件无效。