Jak używać chrome.storage w rozszerzeniu chrome, używając wartości zmiennej jako nazwy klucza?
Próbuję użyć lokalnego magazynu / synchronizacji magazynu chrome (chrome.storage) dla rozszerzenia, do przechowywania wpisów danych, dla wielu różnych wpisów. Wydaje mi się, że nie potrafię znaleźć poprawnej składni. Chcę tylko przechowywać informacje jako ciągi. Szukałem i nie mogę znaleźć niczego, co by działało.
To właśnie dla mnie działa w tej chwili przy użyciu normalnej techniki localStorage:
var imageName = "Red Cat 5";
var myDescription = "A nice kitty";
localStorage.setItem (imageName, myDescription);
console.log(localStorage[imageName]);
To działa i pozwala mi ustawić klucz z istniejącej zmiennej. Jak mogę to zrobić za pomocą chrome.storage.local.set? Próbowałem tego bez powodzenia:
var imageName = "Red Cat 5";
var myDescription = "A nice kitty";
chrome.storage.local.set({imageName: myDescription}, function()
{console.log('success?');});
chrome.storage.local.set({imageName: myDescription}, function()
{chrome.storage.local.get(imageName, function(r){console.log(r.imageName);});});
Każda pomoc jest bardzo ceniona. Dzięki!
----- AKTUALIZUJ PONIŻEJ -----
Dziękuję za wyjaśnienie kodu. Mam nadzieję, że to pomoże każdemu. Wydaje się, że jest niewiele informacji na ten temat! Twoja odpowiedź pomogła mi to wymyślić:
var nameOne = "al";
var nameTwo = "bob";
var nameThree = "carl";
var nameFour = "dan";
var dataObj = {};
dataObj[nameOne] = nameTwo;
dataObj[nameThree] = nameFour;
storage.set(dataObj);
storage.get(dataObj, function(result)
{
console.log(result[nameOne]);
console.log(result[nameThree]);
});