W Google Chrome Extension, chcę użyć chrome.storage.local
(w przeciwieństwie do localStorage), ponieważ:chrome.storage.local.set stosując zmienny nazwę klucza
- z par klucz-wartość, wartość może być każdy przedmiot (w przeciwieństwie do łańcucha tylko)
- zmiany modelu danych z wykorzystaniem setter
storage.set
może wywołać detektor zdarzeń
Korzystanie storage.set
, jak mogę mieć nazwę zmiennej klucza?
Uwaga: Jeśli nie używam ustawiacza, mogę wykonać storage[v1]
, ale zmiany obiektu nie uruchomią detektora zdarzeń.
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'}
});
W przypadku pomaga ... storage.set = funkcji() { schemat var = this.parameters [functionName]; chromeHidden.validate (argumenty, schemat); return sendRequest ( 'storage.' + FunctionName, [namespace] .concat (Array.prototype.slice.call (argumenty)), extendSchema (schemat)); } – user1558225
@Pacerier Zastanawiam się, jaki był powód poświęcenia czasu na edycję pytania i 2 odpowiedzi tylko na nazwę zmiennej refactor 1. – Xan