re-enable local storage (use sessionStorage for cache)

master
Andrew Dolgov 14 years ago
parent e121848048
commit dbf8845e3b

@ -1200,12 +1200,11 @@ function backend_sanity_check_callback(transport) {
} }
function has_local_storage() { function has_local_storage() {
return false; try {
/* try { return 'sessionStorage' in window && window['sessionStorage'] != null;
return 'localStorage' in window && window['localStorage'] != null;
} catch (e) { } catch (e) {
return false; return false;
} */ }
} }
function catSelectOnChange(elem) { function catSelectOnChange(elem) {

@ -357,7 +357,7 @@ function init_second_stage() {
loading_set_progress(30); loading_set_progress(30);
if (has_local_storage()) if (has_local_storage())
localStorage.clear(); sessionStorage.clear();
console.log("second stage ok"); console.log("second stage ok");

@ -1267,7 +1267,7 @@ function cache_inject(id, article, param) {
cache_added["TS:" + id] = ts; cache_added["TS:" + id] = ts;
if (has_local_storage()) if (has_local_storage())
localStorage.setItem(id, JSON.stringify(cache_obj)); sessionStorage.setItem(id, JSON.stringify(cache_obj));
else else
article_cache.push(cache_obj); article_cache.push(cache_obj);
@ -1282,7 +1282,7 @@ function cache_inject(id, article, param) {
function cache_find(id) { function cache_find(id) {
if (has_local_storage()) { if (has_local_storage()) {
var cache_obj = localStorage.getItem(id); var cache_obj = sessionStorage.getItem(id);
if (cache_obj) { if (cache_obj) {
cache_obj = JSON.parse(cache_obj); cache_obj = JSON.parse(cache_obj);
@ -1307,7 +1307,7 @@ function cache_find_param(id, param) {
if (param) id = id + ":" + param; if (param) id = id + ":" + param;
var cache_obj = localStorage.getItem(id); var cache_obj = sessionStorage.getItem(id);
if (cache_obj) { if (cache_obj) {
cache_obj = JSON.parse(cache_obj); cache_obj = JSON.parse(cache_obj);
@ -1329,7 +1329,7 @@ function cache_find_param(id, param) {
function cache_check(id) { function cache_check(id) {
if (has_local_storage()) { if (has_local_storage()) {
if (localStorage.getItem(id)) if (sessionStorage.getItem(id))
return true; return true;
} else { } else {
for (var i = 0; i < article_cache.length; i++) { for (var i = 0; i < article_cache.length; i++) {
@ -1346,7 +1346,7 @@ function cache_check_param(id, param) {
if (param) id = id + ":" + param; if (param) id = id + ":" + param;
if (localStorage.getItem(id)) if (sessionStorage.getItem(id))
return true; return true;
} else { } else {
@ -1365,12 +1365,12 @@ if (has_local_storage()) {
var date = new Date(); var date = new Date();
var timestamp = Math.round(date.getTime() / 1000); var timestamp = Math.round(date.getTime() / 1000);
for (var i = 0; i < localStorage.length; i++) { for (var i = 0; i < sessionStorage.length; i++) {
var id = localStorage.key(i); var id = sessionStorage.key(i);
if (timestamp - cache_added["TS:" + id] > 180) { if (timestamp - cache_added["TS:" + id] > 180) {
localStorage.removeItem(id); sessionStorage.removeItem(id);
} }
} }
@ -1383,7 +1383,7 @@ if (has_local_storage()) {
function cache_flush() { function cache_flush() {
if (has_local_storage()) { if (has_local_storage()) {
localStorage.clear(); sessionStorage.clear();
} else { } else {
article_cache = new Array(); article_cache = new Array();
} }
@ -1395,13 +1395,13 @@ function cache_invalidate(id) {
var found = false; var found = false;
for (var i = 0; i < localStorage.length; i++) { for (var i = 0; i < sessionStorage.length; i++) {
var key = localStorage.key(i); var key = sessionStorage.key(i);
// console.warn("cache_invalidate: " + key_id + " cmp " + id); // console.warn("cache_invalidate: " + key_id + " cmp " + id);
if (key == id || key.indexOf(id + ":") == 0) { if (key == id || key.indexOf(id + ":") == 0) {
localStorage.removeItem(key); sessionStorage.removeItem(key);
found = true; found = true;
break; break;
} }

Loading…
Cancel
Save