Working with the Application Cache Manifest for offline JavaScript applications

So I just spent a few hours debugging a cache manifest. It’s the second time around at there always seems to be issues when first setting up the manifest to work properly.

I thought I’d mention some tools to help debugging issues with the cache manifest.

There are two tools that help you verify that the application cache manifest is set up correctly. First theres the Manifesto Application Cache verification bookmarklet. Also the Cache Manifest Validator verifies your cache manifest via file upload, URI or direct input. For some reason however it no longer validates my cache manifest that is working.

Setting up the logging on all the cache events also helps debugging on for example IPad where all you have to rely on is the console log. This blog post shows how to set things up.

Also, something I ran in to on the IPad you might have to shut down all web applications on the IPad before refreshing your application with a Cache manifest. The symptom is that all files are downloaded (shown with progress events) but when its done the IPad just gets an error message. If this is the case, just shut down all web-applications and Safari and reset the Cache from the settings. That got it working again.