cache-offline.mustache revision 0308c0241c37990d2d96b22cf01e0e5641ca4705
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering<div class="intro">
7c66aeba0f28cb82027d6015405ed71afa3b6059Kay Sievers <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>
7c66aeba0f28cb82027d6015405ed71afa3b6059Kay Sievers</div>
c904f64d84db8c4eebedf210ba10893f19ba05edLennart Poettering
c904f64d84db8c4eebedf210ba10893f19ba05edLennart Poettering<div class="example">
05677bb78079c3fa0283101aac2c07581f4873f1Lennart Poettering {{>cache-offline-source}}
73090dc815390f4fca4e3ed8a7e1d3806605daaaLennart Poettering</div>
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers```
f957632b960a0a42999b38ded7089fa602b41745Kay SieversYUI().use("cache-offline", function(Y) {
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers var cache = new Y.CacheOffline({
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering sandbox:"6-hr-cache", // Pass in a unique identifier
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering expires:21600000 // Expire data after 6 hours
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering });
20ffc4c4a9226b0e45cc02ad9c0108981626c0bbKay Sievers
4ce849853c46b1e857df3c6c9e7752159a58ddf1Lennart Poettering // Add entries to the Cache
4ce849853c46b1e857df3c6c9e7752159a58ddf1Lennart Poettering cache.add("key1", "value1");
c3090674833c8bd34fbdb0e743f1c47d85dd14fbLennart Poettering cache.add("key2", "value2");
c3090674833c8bd34fbdb0e743f1c47d85dd14fbLennart Poettering
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering // Retrieve a cached entry
08f9588885c5d65694b324846b0ed19211d2c178Lennart Poettering var cachedentry = cache.retrieve("key1");
06bf461193b4e7f9936abf7582e8b82e39e187c8Lennart Poettering
06bf461193b4e7f9936abf7582e8b82e39e187c8Lennart Poettering // Cached entry is an object with the following properties
06bf461193b4e7f9936abf7582e8b82e39e187c8Lennart Poettering alert("cached key: " + cachedentry.request +
06bf461193b4e7f9936abf7582e8b82e39e187c8Lennart Poettering " cached value: " + cachedentry.response +
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering " cached at: " + cachedentry.cached +
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering " expires at: " + cachedentry.expires);
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering // Flush the cache
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering cache.flush();
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering});
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering```
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering<h2>Complete Example Source</h2>
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering
936d6fcb6c4fc8839d28f8585af6ba733a7e1a1aLennart Poettering```
ea117d4fde8b8d0b52f9d32ebd4bc09a5bd2ca8bLennart Poettering {{>cache-offline-source}}
ea117d4fde8b8d0b52f9d32ebd4bc09a5bd2ca8bLennart Poettering```
6d0274f11547a0f11200bb82bf598a5a253e12cfLennart Poettering