From 7457fc206d75c08acb8795f8de715dfcef35e3b4 Mon Sep 17 00:00:00 2001 From: Gregory Pike Date: Wed, 10 Apr 2013 02:49:47 -0400 Subject: [PATCH] Cookies work as fallback --- demo-app.js | 9 ++++++++- demo.html | 2 +- localStorageModule.js | 8 +++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/demo-app.js b/demo-app.js index 1922610..4052785 100644 --- a/demo-app.js +++ b/demo-app.js @@ -1,9 +1,16 @@ var DemoCtrl = function($scope, localStorageService) { - localStorageService.clearAll(); + localStorageService.clearAll(); $scope.$watch('localStorageDemo', function(value){ localStorageService.add('localStorageDemo',value); $scope.localStorageDemoValue = localStorageService.get('localStorageDemo'); }); + + $scope.storageType = 'Local storage'; + + if (!localStorageService.isSupported()) { + $scope.storageType = 'Cookie'; + } + }; diff --git a/demo.html b/demo.html index a7472f8..a632809 100644 --- a/demo.html +++ b/demo.html @@ -38,7 +38,7 @@

{{localStorageDemoValue}}

- Local storage value + {{storageType}} value
diff --git a/localStorageModule.js b/localStorageModule.js index dc0b74e..04c1e97 100644 --- a/localStorageModule.js +++ b/localStorageModule.js @@ -143,9 +143,11 @@ angularLocalStorage.service('localStorageService', [ } if (cookie.expiry !== 0) { expiryDate.setTime(expiryDate.getTime() + (cookie.expiry*24*60*60*1000)); - expiry = "; expires="+expiryDate.toGMTString(); + expiry = ", expires="+expiryDate.toGMTString(); + } + if (!!key) { + document.cookie = prefix + key + "=" + encodeURIComponent(value) + expiry + ", path="+cookie.path; } - document.cookie = prefix + key + "=" + encodeURIComponent(value) + expiry + "; path="+cookie.path; } catch (e) { $rootScope.$broadcast('LocalStorageModule.notification.error',e.Description); return false; @@ -161,7 +163,7 @@ angularLocalStorage.service('localStorageService', [ return false; } - var cookies = document.cookie.split(';'); + var cookies = document.cookie.split(','); for(var i=0;i < cookies.length;i++) { var thisCookie = cookies[i]; while (thisCookie.charAt(0)==' ') {