2010-11-18 16 views
30

Ho creato un'estensione per Chrome con una pagina delle opzioni. I dati vengono salvati in localstorage e funzionano bene.Come sincronizzare le opzioni di estensione chrome

Chrome non sincronizza la memoria locale con il cloud, solo le estensioni. Ciò significa che tutti i dati dell'utente non verranno sincronizzati con altri computer dello stesso account Google.

Non riesco a trovare un'API allo http://developer.chrome.com/extensions/docs.html che mi consente di sincronizzare le preferenze scelte dall'utente.

Quali metodi suggerisci?

+0

Cosa non sincronizza localStorage? Hai problemi di sincronizzazione tra la pagina delle opzioni e altre pagine nell'estensione? O stai cercando una tecnologia che sincronizzerà le opzioni tra un'estensione su un computer e le opzioni per la stessa estensione su un altro computer per lo stesso utente? – npdoty

+0

Quest'ultimo. Diciamo che ho Computer A e computer B con lo stesso utente. Installare l'estensione sul computer A e impostare la pagina delle opzioni. Tutto funziona bene e ricorda le opzioni anche dopo il riavvio del PC. Sul computer b, si è installato tramite la sincronizzazione, ma non ha trasferito le opzioni salvate! come posso cambiarlo? – CasperT

+0

Stai utilizzando l'API dei cookie (http://code.google.com/chrome/extensions/cookies.html)? – fncomp

risposta

3

Si dovrebbe essere in grado di utilizzare HTML5 WebDatabases, ma non è possibile. Vedi i commenti qui sotto.

+3

Perché dovrebbe sincronizzarsi, ma non localStorage? Entrambe le cose sono HTML5. C'è un riferimento nell'API che indica che supportano i database web nella sincronizzazione delle estensioni? – CasperT

+1

Onestamente, ho appena visto che qualcuno del progetto chromium ha suggerito che sarebbe stato un buon modo per andare: (https://groups.google.com/group/chromium-extensions/tree/browse_frm/month/2009-09/ 8f8cb3beddc5ad9a? rnum = 31 & LNK = olo). Perché funziona su un thread separato. – fncomp

+0

questa soluzione funziona davvero? nel relativo problema http://code.google.com/p/chromium/issues/detail?id = 47327 non ci sono menzioni su questo – hamczu

2

È possibile serializzare alcune opzioni in un segnalibro e indicare all'utente di abilitare la sincronizzazione dei preferiti. Quindi, è possibile leggere dal segnalibro o creare un oggetto pseudo- "localStorage" attorno al segnalibro.

+0

Stai scherzando ?? Chi manterrebbe un segnalibro sospeso lì solo per il gusto di un'estensione che ricorda alcune impostazioni ...? –

+2

È * pazzo * , ma è così che l'ho visto. –

1

Si potrebbe provare a farlo con Google Documenti come Chrome fa con i segnalibri. Non so fino a che punto arriva l'API ma sembra un'operazione piuttosto semplice.

4

Nathan Moos ha detto la verità :) Ma non è necessario scriverlo da soli, è possibile utilizzare la soluzione Ankit Ahuja dall'estensione Sylebot. Avrai bisogno del file js/sync.js. Il codice sorgente è fantastico e funziona benissimo!

+0

il link a js/sync.js non funziona più, stylebot ha abbandonato questo metodo di sincronizzazione? – user280109

31

Nel (auspicabilmente vicino) futuro, sarai Ora sei in grado di archiviare materiale in chrome.storage.sync e sarà sincronizzato automaticamente.

A meno che non abbiate bisogno di qualcosa al momento, considerate di mettere tutte le vostre configurazioni in un singolo oggetto, qualche volta dopo sarete in grado di sincronizzarlo!

Modifica: ora questo è available in stable Chrome!

Problemi correlati