Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can the new HTML5 manifest.cache file contain paths to directories?

When utilizing the HTML5 ability to specify if/how files are cached (in the manifest.cache file), are specifying entire directories possible? Can I place a path to my images directory under the CACHE: section and have it apply to all files in that directory, or do I need to explicitly specify the image files to be cached?

In other words, is this possible?

CACHE MANIFEST

...

CACHE:
images/

... or maybe this?

CACHE MANIFEST

...

CACHE:
images/*

... or do I have to do this:

CACHE MANIFEST

...

CACHE:
images/logo.png
images/image01.jpg
images/image02.jpg
images/image03.jpg
... (etc)
like image 410
Wilco Avatar asked Jan 31 '11 18:01

Wilco


2 Answers

Unfortunately, the third example is the correct one - list every file individually. The html5 doctor article was incorrect at the time the question was posted and has since been amended.
A wildcard * is allowed only in the "online white list" section:

NETWORK:
*

which allows any required files to be downloaded while you are browsing online if not already downloaded (as per normal).
There is also the Fallback section's "page path pattern":

FALLBACK:
/ /offline.html

that kinda works like a wildcard. The initial / will match the path to every page on your site, so any page that is not found in the cache will then use the /offline.html as the replacement fallback. (Note the space between the two slashes.)

like image 50
George Langley Avatar answered Sep 24 '22 00:09

George Langley


I think you could achieve a 'wildcard' by building the .manifest (or .cache in your example) file with the help of a PHP file. This way you could let PHP handle the hassle of maintaining the filenames by scanning directories en echo'ing each filename. Probably best to actually let PHP put a .manifest file on your server, otherwise the offline App could think the manifest file got updated and continually refreshed the cache.

like image 25
bo-oz Avatar answered Sep 23 '22 00:09

bo-oz