diff options
Diffstat (limited to 'js/ArticleCache.js')
-rw-r--r-- | js/ArticleCache.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/js/ArticleCache.js b/js/ArticleCache.js new file mode 100644 index 000000000..ce34d00d9 --- /dev/null +++ b/js/ArticleCache.js @@ -0,0 +1,29 @@ +'use strict' +/* global __, ngettext */ +define(["dojo/_base/declare"], function (declare) { + ArticleCache = { + has_storage: 'sessionStorage' in window && window['sessionStorage'] !== null, + set: function (id, obj) { + if (this.has_storage) + try { + sessionStorage["article:" + id] = obj; + } catch (e) { + sessionStorage.clear(); + } + }, + get: function (id) { + if (this.has_storage) + return sessionStorage["article:" + id]; + }, + clear: function () { + if (this.has_storage) + sessionStorage.clear(); + }, + del: function (id) { + if (this.has_storage) + sessionStorage.removeItem("article:" + id); + }, + } + + return ArticleCache; +}); |