Como usar o chrome.storage em uma extensão do Google Chrome usando o valor de uma variável como o nome da chave?
Estou tentando usar o armazenamento de sincronização / armazenamento local do chrome (chrome.storage) para uma extensão, para armazenar entradas de dados, para várias entradas diferentes. Eu não consigo descobrir a sintaxe correta para isso. Eu só quero simplesmente armazenar as informações como seqüências de caracteres. Eu procurei e não consigo encontrar nada ainda que funcione.
Isso é o que funciona para mim no momento usando a técnica normal localStorage:
var imageName = "Red Cat 5";
var myDescription = "A nice kitty";
localStorage.setItem (imageName, myDescription);
console.log(localStorage[imageName]);
Isso funciona e me permite definir a chave de uma variável existente. Como posso fazer isso usando chrome.storage.local.set? Eu tenho tentado isso sem nenhum sucesso:
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);});});
Qualquer ajuda é muito apreciada. Obrigado!
----- ATUALIZE ABAIXO -----
Obrigado pela explicação com o código. Espero que ajude mais alguém. Parece haver pouca informação disponível sobre isso! Sua resposta me ajudou a pensar nisso:
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]);
});