Mercurial > bugzilla-dashboard
view js/modules/cache.js @ 80:677df912e92d
added app/loader module.
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Sun, 25 Apr 2010 22:26:14 -0700 |
parents | 4bb45ff5788a |
children | e3de1fe32f40 |
line wrap: on
line source
Require.modules["cache"] = function(exports, require) { const CACHE_NAME = "cache"; var window = require("window"); var cache = window.localStorage.getItem(CACHE_NAME); if (cache) cache = JSON.parse(cache); else cache = {}; exports.set = function set(key, value) { cache[key] = value; // Remove the key first, to get around a strange iPad // issue: http://stackoverflow.com/questions/2603682/is-anyone-else-receiving-a-quota-exceeded-err-on-their-ipad-when-accessing-locals window.localStorage.removeItem(CACHE_NAME); // TODO: We should really catch QUOTA_EXCEEDED_ERR here, // which could be thrown if the user is in private // browsing mode. window.localStorage.setItem(CACHE_NAME, JSON.stringify(cache)); }; exports.get = function get(key) { return cache[key]; }; exports.clear = function clear() { window.localStorage.removeItem(CACHE_NAME); cache = {}; }; };