Aggiornamento 2016:
Google Chrome ha rilasciato l'API di archiviazione: http://developer.chrome.com/extensions/storage.html
È abbastanza facile da usare come le altre API di Chrome e puoi usarlo da qualsiasi contesto di pagina all'interno di Chrome.
// Save it using the Chrome extension storage API.
chrome.storage.sync.set({'foo': 'hello', 'bar': 'hi'}, function() {
console.log('Settings saved');
});
// Read it using the storage API
chrome.storage.sync.get(['foo', 'bar'], function(items) {
message('Settings retrieved', items);
});
Per usarlo, assicurati di definirlo nel manifest:
"permissions": [
"storage"
],
Esistono metodi per "rimuovere", "cancella", "getBytesInUse" e un listener di eventi per ascoltare la memoria modificata "onChanged"
Utilizzo di LocalStorage nativo ( vecchia risposta dal 2011 )
Gli script di contenuto vengono eseguiti nel contesto di pagine Web, non di pagine di estensione. Pertanto, se accedi a localStorage dal tuo indice, sarà l'archiviazione da quella pagina web, non l'archiviazione della pagina di estensione.
Ora, per consentire allo script di contenuti di leggere la memoria dell'estensione (dove li hai impostati dalla pagina delle opzioni), devi utilizzare il passaggio dei messaggi di estensione .
La prima cosa da fare è dire al tuo script di contenuto di inviare una richiesta alla tua estensione per recuperare alcuni dati e che tali dati possono essere la tua estensione localStorage:
contentscript.js
chrome.runtime.sendMessage({method: "getStatus"}, function(response) {
console.log(response.status);
});
background.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.method == "getStatus")
sendResponse({status: localStorage['status']});
else
sendResponse({}); // snub them.
});
È possibile eseguire un'API per ottenere dati generici localStorage nello script del contenuto o, forse, ottenere l'intero array localStorage.
Spero che ciò abbia contribuito a risolvere il tuo problema.
Essere fantasiosi e generici ...
contentscript.js
chrome.runtime.sendMessage({method: "getLocalStorage", key: "status"}, function(response) {
console.log(response.data);
});
background.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.method == "getLocalStorage")
sendResponse({data: localStorage[request.key]});
else
sendResponse({}); // snub them.
});