Basket.js: A simple script loader that caches scripts with localStorage
addyosmani.github.com
addyosmani.github.com
IMHO, edge cases aside, most people shouldn't do this.
One of the best uses for localStorage though, is caching client-side templates. If you're building an app that's got a ton of different models and templates for each one, it makes your application a lot more efficient to lazy-load them as needed and cache them in localStorage for later use with versioning and cache invalidation.
In the same vein, does the browser check if files specified in the manifest expired? If yes it would once again waste some time...