Güncelleme 2016:
Google Chrome, depolama API'sını yayınladı: http://developer.chrome.com/extensions/storage.html
Diğer Chrome API'ları gibi kullanımı oldukça kolaydır ve Chrome'daki herhangi bir sayfa içeriğinden kullanabilirsiniz.
// 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);
});
Kullanmak için manifest'te tanımladığınızdan emin olun:
"permissions": [
"storage"
],
"Kaldır", "temizle", "getBytesInUse" ve değiştirilen depolamayı "onChanged" için dinlemek için bir olay dinleyicisi vardır.
Yerel localStorage kullanma ( 2011'den eski yanıt )
İçerik komut dosyaları, uzantı sayfaları yerine web sayfaları bağlamında çalışır. Bu nedenle, contentScript'inizden localStorage'a erişiyorsanız, uzantı sayfası depolama alanı değil, bu web sayfasındaki depolama alanı olacaktır.
Şimdi, içerik komut dosyanızın uzantı depolama alanınızı okumasına izin vermek için (bunları seçenekler sayfanızdan ayarladığınız yerde), uzantı mesajı geçişini kullanmanız gerekir .
Yapmanız gereken ilk şey, içerik betiğinize bazı verileri almak için uzantınıza bir istek göndermesini söylemektir ve bu veriler localStorage uzantınız olabilir:
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.
});
İçerik betiğinize genel localStorage verileri almak veya belki de tüm localStorage dizisini almak için bunun etrafında bir API yapabilirsiniz.
Umarım bu sorununuzu çözmenize yardımcı olmuştur.
Süslü ve genel olmak ...
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.
});