2010-11-18 93 views
30

我製作了一個帶有選項頁的Chrome擴展程序。數據保存在localstorage中,工作正常。如何同步Chrome擴展選項

Chrome不會將本地存儲同步到雲端,只是擴展名。這意味着任何用戶數據都不會同步到同一Google帳戶的其他計算機。

我在http://developer.chrome.com/extensions/docs.html找不到一個API,它允許我同步用戶選擇的首選項。

你有什麼建議?

+0

什麼不同步localStorage?您在選擇頁面和擴展程序中的其他頁面之間進行同步時遇到問題嗎?或者您是否正在尋找一種技術來同步一臺計算機上的擴展與同一用戶的另一臺計算機上相同擴展的選項之間的選項? – npdoty 2010-11-21 08:41:29

+0

後者。讓我們說我有同一個用戶的計算機A和計算機B.我在計算機A上安裝擴展並設置選項頁面。一切工作正常,它甚至可以記住PC重啓後的選項。在計算機b上,它通過同步安裝了它自己,但它沒有保留已保存的選項!我該如何改變? – CasperT 2010-11-21 12:43:27

+0

您是否使用Cookie API(http://code.google.com/chrome/extensions/cookies.html)? – fncomp 2010-11-22 06:06:28

回答

3

您應該可以使用HTML5 WebDatabases,但您不能。見下面的評論。

+3

爲什麼會同步,但不是localStorage?這兩件事都是HTML5。在API中有提及它們支持擴展同步中的web數據庫的參考嗎? – CasperT 2010-11-22 13:24:19

+1

老實說,我剛剛看到有人從鉻項目建議,這將是一個不錯的方法:(https://groups.google.com/group/chromium-extensions/tree/browse_frm/month/2009-09/ 8f8cb3beddc5ad9a?RNUM = 31&LNK =醇)。因爲它在單獨的線程上工作。 – fncomp 2010-11-22 19:20:15

+0

這個解決方案真的有用嗎?在相關問題中http://code.google.com/p/chromium/issues/detail?id = 47327沒有提到這個 – hamczu 2011-03-13 20:26:32

2

您可以將一些選項序列化爲書籤並告訴用戶啓用書籤同步。然後,您可以從書籤中讀取或在書籤周圍構建僞「localStorage」對象。

+0

你在開玩笑嗎?誰會保留一個書籤掛在那裏只是爲了擴展記憶幾個設置...? – 2012-02-18 04:28:58

+2

它*是*瘋狂,但這就是我看到它完成的原因。 – 2012-02-20 20:28:25

1

您可以嘗試使用Google文檔來做到這一點,例如Chrome瀏覽器使用書籤。我不知道api有多遠,但這似乎是一個相當基本的操作。

4

Nathan Moos告訴你真相:)但你不需要自己寫,你可以使用從Sylebot擴展名的Ankit Ahuja解決方案。您將需要文件js/sync.js。源代碼很棒,而且效果很棒!

+0

js/sync.js的鏈接不再有效,stylebot放棄了這種同步方法? – user280109 2013-06-28 13:07:43

31

在(希望接近)的未來,您將成爲您現在可以將東西存儲在chrome.storage.sync中,並且它會自動同步。

除非您現在需要,否則請考慮將所有配置放在一個對象中,稍後您就可以同步它!

編輯:現在這是available in stable Chrome