From fd5ad6dc4175045df3c53dbdf3f568b2e6b05326 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Sat, 6 Jun 2015 17:19:02 +0200 Subject: [PATCH] Add non-persistent fallback for localstorage --- js/localstorage.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/js/localstorage.js b/js/localstorage.js index 041e359..71192d2 100644 --- a/js/localstorage.js +++ b/js/localstorage.js @@ -21,6 +21,35 @@ ls.factory("$store", ["$parse", function($parse){ if (!supported) { console.log('Warning: localStorage is not supported'); + + // Set localstorage to a temporary dummy + storage = (function() { + var data = {}; + + this.setItem = function (key, value) { + data[key] = value; + }; + + this.getItem = function (key) { + if (typeof data[key] !== "undefined" ) { + return data[key]; + } else { + return null; + } + }; + + this.removeItem = function (key) { + data[key] = undefined; + }; + + this.length = function() { + return Object.keys(data).length; + }; + + this.key = function(index) { + return Object.keys(data)[index]; + }; + })(); } var privateMethods = {