2012-03-23 11 views
5

Hai un grosso problema, quando aggiorno il mio localStorage con la mia pagina Opzioni va bene, i nuovi valori sono memorizzati ma my background.js mantiene i valori del primo carico anche se ho messo qualcosa di simile:Estensione Chrome: background.js non accetta i nuovi valori da localStorage

var value = localStorage['item']; 

Quando rinfresco l'estensione è OK, ma molto fastidioso ...

c'è alcuna correzione a tale proposito?

saluti

risposta

6

Sei sicuro? Tieni presente che lo script nella pagina di sfondo viene eseguito solo una volta, quando viene caricata per prima l'estensione. Quindi è necessario indicare alla pagina di sfondo che l'elemento localStorage è stato aggiornato e aggiornare la variabile. Oppure il tuo codice per gli sfondi potrebbe sempre accedere a localStorage invece di usare una variabile.
A titolo di esempio, questo codice eseguire una funzione nella pagina di sfondo che aggiornerà il valore della variabile ....
sfondo

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

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

opzioni

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

si Oooh solo accendi il mio cervello con la tua prima frase. Ho dimenticato che la pagina di sfondo viene eseguita una sola volta a causa della mia funzione setInterval() ... Poi invece di ottenere i miei valori localStorage nella parte superiore dello script, l'ho spostato nella funzione che recupera i valori di localStorage somes times. – Syl

Problemi correlati