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

7.9k views Asked by At

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)
2

There are 2 answers

0
bo-oz On

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.

0
George Langley On

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.)