2010-11-18 24 views
30

He hecho una extensión de Chrome con una página de opciones. Los datos se guardan en el almacenamiento local y funcionan bien.Cómo sincronizar las opciones de extensión de Chrome

Chrome no sincroniza el almacenamiento local con la nube, solo las extensiones. Esto significa que los datos de los usuarios no se sincronizarán con otras computadoras de la misma cuenta de Google.

No puedo encontrar una API en http://developer.chrome.com/extensions/docs.html que me permita sincronizar las preferencias elegidas por el usuario.

¿Qué métodos sugiere?

+0

¿Qué no sincroniza localStorage? ¿Tiene problemas para sincronizar entre su página de opciones y otras páginas de la extensión? ¿O está buscando una tecnología que sincronice opciones entre una extensión en una computadora y opciones para la misma extensión en una computadora diferente para el mismo usuario? – npdoty

+0

Este último. Digamos que tengo la Computadora A y la computadora B con el mismo usuario. Instalo la extensión en la Computadora A y configuro la página de opciones. Todo funciona bien y recuerda las opciones incluso después de reiniciar el equipo. En la computadora b, se ha instalado a sí mismo a través de la sincronización, ¡pero no ha transferido las Opciones guardadas! ¿Cómo cambio eso? – CasperT

+0

¿Estás utilizando la API de Cookies (http://code.google.com/chrome/extensions/cookies.html)? – fncomp

Respuesta

3

Debería poder usar HTML5 WebDatabases, pero no puede. Ver comentarios a continuación.

+3

¿Por qué esta sincronización, pero no localStorage? Ambas cosas son HTML5. ¿Hay alguna referencia en la API que indique que admiten bases de datos web en la sincronización de extensiones? – CasperT

+1

Honestamente, acabo de ver que alguien del proyecto chromium sugirió que sería una buena forma de hacerlo: (https://groups.google.com/group/chromium-extensions/tree/browse_frm/month/2009-09/ 8f8cb3beddc5ad9a? Rnum = 31 & lnk = ol). Porque funciona en un hilo separado. – fncomp

+0

¿esta solución realmente funciona? en el tema relacionado http://code.google.com/p/chromium/issues/detail?id = 47327 no hay menciones sobre esto – hamczu

2

Puede serializar algunas de las opciones en un marcador y decirle al usuario que active la sincronización de favoritos. Luego, puede leer desde el marcador o crear un objeto pseudo- "localStorage" alrededor del marcador.

+0

¿Estás bromeando? ¿Quién mantendría un marcador colgando allí solo por el bien de una extensión recordando algunos ajustes ...? –

+2

It * is * crazy , pero así es como lo he visto cumplido. –

1

Puede intentar hacerlo con Google Docs, como hace Chrome con los marcadores. No sé hasta dónde llega la API, pero parece una operación bastante básica.

4

Nathan Moos te dijo la verdad :) Pero no necesitas escribirlo por ti mismo, puedes usar la solución de Ankit Ahuja desde la extensión Sylebot. Necesitará el archivo js/sync.js. El código fuente es genial, ¡y funciona genial!

+0

el enlace a js/sync.js ya no funciona, ¿stylebot ha abandonado este método de sincronización? – user280109

31

En el (afortunadamente cercano) futuro, usted será Ahora puede almacenar cosas en chrome.storage.sync, y se sincronizarán automágicamente.

A menos que necesite algo en este momento, considere poner todas sus configuraciones en un solo objeto, ¡en algún momento más tarde podrá simplemente sincronizarlo!

Editar: ahora esto es available in stable Chrome!

Cuestiones relacionadas