有一件事我还没有完全掌握,那就是如果缓存清单在所有列出的文件联机时也充当预取。
例如,假设我正在访问:
/page1.html
我网站上的每一页都将有相同的声明:
<html manifest="/cache.manifest">
在缓存清单文件中,我有:
CACHE MANIFEST
/page2.html
/page3.html
/page4.html
因此,我将首先访问/page1.html,当我在线时,我的浏览器也会知道如何缓存2-4页。当我断开连接,访问第2-4页时,所有的内容都会加载得很好,因为它已经被缓存了。
问题:如果我访问了/page1.html,并且我仍然在线连接,并且访问了/page2.html,我的浏览器仍然会请求/page2.html,还是不会向服务器发出另一个请求并使用从/cache.manifest文件中缓存的内容?本质上就像firefox使用的预取链接?
发布于 2011-05-26 21:39:24
嗯,等级库写的是“所有文件”,对html文件没有任何例外,所以我认为它适用于html文件,就像其他文件一样,它是从缓存中获取的,而不是从服务器上获取的。然而,我没有做任何测试来证实这一点。我要做以下几点:
创建以下缓存清单文件:
CACHE MANIFEST
/page1.html
/page2.html
/page3.html
/page4.html
将其包含在四个缓存清单文件中。然后:
确保您在所有浏览器上试用它。我很想看看你的结果。
发布于 2013-03-15 10:12:47
当我们使用缓存清单时,每次加载页面时,它都会从缓存中获取文件。这是有解决办法的。
如果您对HTML文件做了任何更改,则必须更改清单文件中的版本号。这样,您的清单就可以从服务器中获取HTML的最新版本,并将其存储在缓存中。
CACHE MANIFEST
#v01
/page1.html
/page2.html
/page3.html
/page4.html
你可以把V01提高到02,03.因此,这将确保缓存具有最新版本的html页面。
发布于 2011-05-26 18:58:23
我认为它是从清单文件中获取的,即使您在线:)。你不能通过上传一个文件然后导航到页面来尝试吗?
https://stackoverflow.com/questions/6143319
复制相似问题