Monday, May 20, 2024
145
rated 0 times [  149] [ 4]  / answers: 1 / hits: 27130  / 12 Years ago, fri, july 27, 2012, 12:00:00

In a Google Chrome Extension, I want to use chrome.storage.local (as opposed to localStorage) because:




  1. With key-value pairs, the value can be any object (as opposed to string only)

  2. Changes to the data model using setter storage.set can trigger an event listener



Using storage.set, how can I have a variable key name?



Note: If I don't use the setter, I can do storage[v1], but changes to the object won't trigger the event listener.



var storage = chrome.storage.local;
var v1 = 'k1';

storage.set({v1:'s1'});

storage.get(v1,function(result){
console.log(v1,result);
//console output = k1 {}
});
storage.get('v1',function(result){
console.log(result);
//console output = {v1:'s1'}
});

More From » google-chrome-extension

 Answers
4

Is this what you where looking for?



var storage = chrome.storage.local;

var v1 = 'k1';

var obj= {};

obj[v1] = 's1';

storage.set(obj);

storage.get(v1,function(result){
console.log(v1,result);
//console output = k1 {v1:'s1'}
});

storage.get('v1',function(result){
console.log(result);
//console output = {v1:'s1'}
})

[#84017] Wednesday, July 25, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
luna

Total Points: 698
Total Questions: 114
Total Answers: 93

Location: Israel
Member since Wed, Apr 14, 2021
3 Years ago
luna questions
;