2012-03-23 11 views
5

Mam duży problem, gdy aktualizuję mój localStorage na mojej stronie Opcji, jest OK, nowe wartości są przechowywane, ale mój background.js zachowuje wartości pierwszego obciążenie nawet jeśli mogę umieścić coś takiego:Rozszerzenie Chrome: background.js nie przyjmuje nowych wartości z localStorage

var value = localStorage['item']; 

Kiedy odświeżyć rozszerzenie to jest OK, ale bardzo irytujące ...

tam jest jakaś poprawka na to?

Pozdrawiam

Odpowiedz

6

Czy jesteś pewien? Czy pamiętasz, że skrypt na stronie w tle jest wykonywany tylko raz, gdy najpierw ładuje się rozszerzenie. Musisz więc powiedzieć stronie głównej, że element localStorage został zaktualizowany i zaktualizować zmienną. Lub twój kod tła może zawsze uzyskać dostęp do localStorage zamiast używać zmiennej.
Jako przykład, kod ten będzie wykonywał funkcję w tle strony, które będą aktualizować wartość zmiennej ....
tło

// the following line will only be executed when the extension first loads 
var value = localStorage['setting']; 

function updateSetting() { 
    value = localStorage['setting']; 
} 

opcje

localStorage['setting']=Math.random(); 
chrome.extension.getBackgroundPage().updateSetting(); 
+1

Oooh ci tylko włącz mój mózg pierwszym zdaniem. Zapomniałem, że strona w tle zostanie wykonana tylko raz z powodu mojej funkcji setInterval() ... Wtedy zamiast pobierania moich wartości localStorage na szczycie skryptu, przeniosłem go do funkcji, która pobiera czasy wartości localStorage. – Syl

Powiązane problemy