Do Chrome extensions have access to local storage?
Even simpler than that:
To read:
var myStoredValue = localStorage["TheKeyToMyStoredValue"];
To write:
localStorage["TheKeyToMyStoredValue"] = myNewValueToStore;
To get rid of:
delete localStorage["TheKeyToMyStoredValue"];
Yes, it is. Going over a full walkthrough of how to do this would probably exceed the length of a reasonable StackOverflow answer, so I'll refer you to this very extensive tutorial by Rajdeep Dua.
The relevant code would look like this:
// Store item in local storage:function setItem(key, value) { try { log("Storing [" + key + ":" + value + "]"); window.localStorage.removeItem(key); // <-- Local storage! window.localStorage.setItem(key, value); // <-- Local storage! } catch(e) { log("Error inside setItem"); log(e); } log("Return from setItem" + key + ":" + value);}// Gets item from local storage with specified key.function getItem(key) { var value; log('Retrieving key [' + key + ']'); try { value = window.localStorage.getItem(key); // <-- Local storage! }catch(e) { log("Error inside getItem() for key:" + key); log(e); value = "null"; } log("Returning value: " + value); return value;}// Clears all key/value pairs in local storage.function clearStrg() { log('about to clear local storage'); window.localStorage.clear(); // <-- Local storage! log('cleared');}function log(txt) { if(logging) { console.log(txt); }}
Chrome also supports the HTML5 Web Database spec. This gives you a local SQL database, so you can do more complex things than simply storing name/value pairs in Local Storage.