4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly<div class="intro">
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly <p>OfflineCache stores data in HTML 5 localStorage when available so that data persists across browser sessions. When localStorage is disabled or altogether unavailable (i.e., IE6 and IE7) data is simply cached in local JavaScript memory and will not persist across browser sessions.</p>
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly</div>
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly<div class="example">
0308c0241c37990d2d96b22cf01e0e5641ca4705Eric Ferraiuolo {{>cache-offline-source}}
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly</div>
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly```
4e2bc03d0ba795d507670920a0b039982f520e0bJenny DonnellyYUI().use("cache-offline", function(Y) {
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly var cache = new Y.CacheOffline({
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly sandbox:"6-hr-cache", // Pass in a unique identifier
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly expires:21600000 // Expire data after 6 hours
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly });
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly // Add entries to the Cache
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly cache.add("key1", "value1");
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly cache.add("key2", "value2");
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly // Retrieve a cached entry
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly var cachedentry = cache.retrieve("key1");
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly // Cached entry is an object with the following properties
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly alert("cached key: " + cachedentry.request +
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly " cached value: " + cachedentry.response +
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly " cached at: " + cachedentry.cached +
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly " expires at: " + cachedentry.expires);
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly // Flush the cache
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly cache.flush();
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly});
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly```
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly<h2>Complete Example Source</h2>
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly```
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly {{>cache-offline-source}}
4e2bc03d0ba795d507670920a0b039982f520e0bJenny Donnelly```