2011-02-04 9 views
19

Ho un'estensione in cui gli utenti gestiscono un elenco di collegamenti. Sarebbe bello avere questi dati sincronizzati tra computer (al lavoro ea casa). Quali sono le possibili soluzioni?Come sincronizzare i dati dell'estensione di Chrome su computer diversi?

Chrome ha l'opzione di sincronizzazione estensione ma non sono sicuro se sincronizza i dati o meno (sarei sorpreso se sì). Anche se così fosse, non tutti vorremmo che tutte le altre estensioni fossero sincronizzate.

Posso memorizzare i miei collegamenti in una cartella di segnalibri speciale e utilizzare la sincronizzazione di segnalibri incorporata, ma in questo caso tutti i segnalibri dovrebbero essere sincronizzati (non tutti gli utenti vorrebbero che sia quello che penso).

Eventuali siti esterni che posso utilizzare? Qualcosa di facile da usare e collegato a un account Google?

(Non voglio costruire il mio sito per questo)

risposta

26

Edit: Come di Chrome 20 e sopra è possibile utilizzare il modulo chrome.storage per salvare al cloud.

chrome.experimental.storage.sync.set({'settingAlwaysOn': true}, function() { 
    console.log('Saved option in the cloud'); 
}); 

Prima di Chrome 20

Hai ragione, Chrome Sync per opzioni di estensioni (nelle impostazioni) non sincronizza i dati di estensione. L'unico modo per sincronizzare questi dati è attraverso una terza parte.

Dato che hai escluso l'utilizzo dei segnalibri, è logico che gli utenti non vogliano sincronizzare i segnalibri.

Ogni volta che si persistono i dati attraverso lo spazio di archiviazione (Web SQL Storage, localStorage, IndexDB), si acquisisce tale oggetto e lo si serializza in JSON (tramite JSON.stringify) e lo si invia ad alcuni servizi online come Google Docs.

Sarebbe piuttosto complicato per Web SQL Storage e IndexDB, dovresti fare il tuo importatore ed esportatore. Per localStorage è piuttosto semplice, poiché è una coppia chiave/valore.

È necessario del lavoro per collegarlo a un account Google (come ad esempio Docs). Dovresti utilizzare OAuth e fare l'impianto idraulico per connettere l'estensione al servizio. Una volta connesso, non è difficile mantenere lo stato.

Buona fortuna :)

+2

Questa risposta non è più corretta poiché Chrome 20 –

+2

@AndreGoncalves, risposta aggiornata per riflettere la nostra nuova memoria di sincronizzazione api. –

24

Chrome 20 supporta chrome.storage.sync API. Sembra adattarsi perfettamente alle tue esigenze.

+5

La vecchia risposta corretta non è aggiornata, questa dovrebbe essere la nuova risposta corretta! – Soviut

+0

+1, questa è la risposta corretta –