prova a vedere anche questo articolo http://24ways.org/2010/html5-local-storage
E attenzione che se quello che stai mettendo in local storage e' un oggetto come mi pare che sia arrComTrTable (un array direi che e' un oggetto) allora non lo puoi passare direttamente a local storage. Tuttavia con la stringa dovrebbe funzionare, non vedo perche' non dovrebbe.
Io mi sono fatto un semplice wrapper a localStorage, cosi' se e quando avro' a che fare con un browser che non lo supporta la mia API puo' rimanere la stessa e devo solo cambiare il wrapper per funzionare con browser che non supportano localStorage.
Inoltre il mio wrapper mi espone un paio di funzionalita' che mi permettono di serializzare oggetti che possono quindi essere salvati nel localStorage. Non e' ben scritto, l'ho implementato 6 mesi fa quando di javascript sapevo poco niente, ma funziona:
codice:
var storage = {
items: function() {return localStorage.length},
get: function (key) {return localStorage.getItem(key)},
store: function (key, value) {return localStorage.setItem (key, value)},
empty: function() {return localStorage.clear()},
isEmpty: function() {return (localStorage.length == 0) ? true: false;},
serialize: function (object) {return JSON.stringify (object)},
deserialize: function (sObject) {return JSON.parse (sObject)}
}
serialize e deserialize permettono appunto di serializzare e deserializzare oggetti a e da una stringa di JSON. Alcuni browser hanno quell'oggetto JSON implementato, altri no, quindi ho messo anche questo codice, che mi pare di aver trovato in un blog post di sitepoint:
codice:
/* Provides JSON object for browsers that don't have it
* natively.
*
* INCLUDE THIS SCRIPT AS THE FIRST SCRIPT IN PAGES THAT NEED
* JSON SUPPORT AND IN ALL PAGES THAT USE THE DATABASE
* OBJECT DEFINED IN main.js
*
*/
var JSON = JSON || {};
// implement JSON.stringify serialization
JSON.stringify = JSON.stringify || function (obj) {
var t = typeof (obj);
if (t != "object" || obj === null) {
// simple data type
if (t == "string") obj = '"'+obj+'"';
return String(obj);
}
else {
// recurse array or object
var n, v, json = [], arr = (obj && obj.constructor == Array);
for (n in obj) {
v = obj[n];
t = typeof(v);
if (t == "string") v = '"'+v+'"';
else if (t == "object" && v !== null) v = JSON.stringify(v);
json.push((arr ? "" : '"' + n + '":') + String(v));
}
return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
}
};
// implement JSON.parse de-serialization
JSON.parse = JSON.parse || function (str) {
if (str === "") str = '""';
eval("var p=" + str + ";");
return p;
};
PS: usa i tag code quando posti il codice in moo che sia piu' leggibile!