如何在不同的计算机上同步Chrome扩展程序数据?

时间:2011-02-04 17:29:06

标签: google-chrome synchronization google-chrome-extension

我有一个用户维护链接列表的扩展程序。将这些数据在计算机之间同步(在工作和家中)会很好。有哪些可能的解决方案?

Chrome有扩展同步选项,但我不确定它是否同步数据(如果是,我会感到惊讶)。即使它确实如此,也不是每个人都希望同步所有其他扩展。

我可以将我的链接存储在一个特殊的书签文件夹中,并使用内置的书签同步,但在这种情况下,所有书签也会同步(并非所有用户都希望这样)。

我可以使用的任何外部网站?容易使用并链接到谷歌帐户?

(我不想为此建立自己的网站)

2 个答案:

答案 0 :(得分:27)

修改:从Chrome 20及更高版本开始,您可以使用chrome.storage模块保存到云端。

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

在Chrome 20之前

您说得对,Chrome Sync for extensions选项(在设置中)不会同步扩展数据。同步这些数据的唯一方法是通过第三方。

由于您排除了书签的使用,如果用户不希望同步书签,这是有意义的。

每当您通过存储(Web SQL存储,localStorage,IndexDB)持久存储数据时,您将获取该对象,并将其序列化为JSON(通过JSON.stringify),然后将其发送到某些在线服务,例如Google Docs。 / p>

对于Web SQL Storage和IndexDB来说,这将是非常棘手的,您必须自己进行导入和导出。对于localStorage,它非常简单,因为它是一个键/值对。

将其与Google帐户(例如Docs)相关联需要一些工作,您必须使用OAuth并进行管道连接以将您的扩展程序连接到服务。一旦你连接起来,维持状态并不困难。

祝你好运:)

答案 1 :(得分:26)

Chrome 20支持chrome.storage.sync API。它似乎完全符合您的要求。