diff options
| author | hallgren <hallgren@chalmers.se> | 2013-04-23 12:44:12 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2013-04-23 12:44:12 +0000 |
| commit | ba1bdaa3dcfb3fba1332ba1aeb6cdaf14c459485 (patch) | |
| tree | 35b7d89c477e7c4cb5f9487ea0d0bd0612a7983c | |
| parent | bcf834671693592bfe68576b1f6d1f2a59feea46 (diff) | |
js/localstorage.js: improved faked localStorage if real localStorage is missing
| -rw-r--r-- | src/www/js/localstorage.js | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/www/js/localstorage.js b/src/www/js/localstorage.js index c103c28bd..8af2906a4 100644 --- a/src/www/js/localstorage.js +++ b/src/www/js/localstorage.js @@ -10,8 +10,10 @@ function supports_html5_storage() { } } +var fakedLocalStorage = [] // a shared substitute for persistent localStorage + // An interface to localStorage to store JSON data under a unique prefix -function appLocalStorage(appPrefix,fakeIt) { +function appLocalStorage(appPrefix,privateStorage) { function methods(storage) { return { @@ -42,11 +44,13 @@ function appLocalStorage(appPrefix,fakeIt) { function get_html5_storage() { try { - return 'localStorage' in window && window['localStorage'] || [] + return 'localStorage' in window + && window['localStorage'] + || fakedLocalStorage } catch (e) { - return []; // fake it + return fakedLocalStorage; // fake it } } - return methods(fakeIt || get_html5_storage()) + return methods(privateStorage || get_html5_storage()) } |
