Update 2016:
Google Chrome hat die Speicher-API veröffentlicht: http://developer.chrome.com/extensions/storage.html
Es ist ziemlich einfach wie die anderen Chrome-APIs zu verwenden und kann von jedem Seitenkontext in Chrome aus verwendet werden.
// 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);
});
Um es zu verwenden, stellen Sie sicher, dass Sie es im Manifest definieren:
"permissions": [
"storage"
],
Es gibt Methoden zum "Entfernen", "Löschen", "getBytesInUse" und einen Ereignis-Listener zum Abhören des geänderten Speichers "onChanged".
Verwenden von nativem localStorage ( alte Antwort von 2011 )
Inhaltsskripte werden im Kontext von Webseiten ausgeführt, nicht von Erweiterungsseiten. Wenn Sie über Ihr Inhaltsskript auf localStorage zugreifen, handelt es sich daher um den Speicher dieser Webseite und nicht um den Speicher der Erweiterungsseite.
Damit Ihr Inhaltsskript Ihren Erweiterungsspeicher lesen kann (wo Sie sie auf Ihrer Optionsseite festgelegt haben), müssen Sie die Weitergabe von Erweiterungsnachrichten verwenden .
Das erste, was Sie tun, ist, Ihr Inhaltsskript anzuweisen, eine Anforderung an Ihre Erweiterung zu senden, um einige Daten abzurufen. Diese Daten können Ihre Erweiterung localStorage sein:
contentcript.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.
});
Sie können eine API erstellen, um generische localStorage-Daten in Ihr Inhaltsskript abzurufen, oder möglicherweise das gesamte localStorage-Array abrufen.
Ich hoffe, das hat zur Lösung Ihres Problems beigetragen.
Ausgefallen und generisch zu sein ...
contentcript.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.
});