我正在處理頁面動作擴展,並希望存儲擴展的所有用戶都可以訪問的信息。信息將是關鍵字:值對,其中關鍵字是網址,值是鏈接數組。Chrome擴展程序數據庫存儲
我必須能夠更新數據庫,而無需將擴展程序重新部署到Chrome商店。我應該考慮使用什麼?存儲API似乎面向用戶數據,而不是由應用程序存儲並由開發人員更新的數據。
我正在處理頁面動作擴展,並希望存儲擴展的所有用戶都可以訪問的信息。信息將是關鍵字:值對,其中關鍵字是網址,值是鏈接數組。Chrome擴展程序數據庫存儲
我必須能夠更新數據庫,而無需將擴展程序重新部署到Chrome商店。我應該考慮使用什麼?存儲API似乎面向用戶數據,而不是由應用程序存儲並由開發人員更新的數據。
如果您希望在不通過CWS部署更新版本的情況下更新某些內容,則需要自行託管數據並使用擴展名查詢它。使用作爲所述數據的緩存將是完全合適的。
這個問題很廣泛,所以生病給你一些我曾經做過的想法。
既然你說你不想在數據庫發生變化時重新發布,你需要自己爲數據庫存儲數據。這並不意味着你需要存儲一個實際的數據庫,只是擴展獲取數據的一種方式。
理想情況下,您只是添加新對。如果是這樣,一個簡單的方法是將您的配對存儲在公開的Google電子表格中。該擴展會記住最後一行同步並使用行提要逐步獲取數據。 有一些技巧可以正確處理電子表格同步。看看我的github「加上trello」來獲得完整的實現。 這是增量同步的好方法,如果數據庫不是很大,您可以僅託管一個csv文件並定期從擴展中獲取它。
現在您可以將數據獲取到擴展中,決定如何存儲它。 chrome.storage.local或indexedDb應該很好,但是索引db通常最適合稍後查詢比哈希表更復雜的內容。
使用chrome.storage.local作爲緩存會完成什麼? – pqx994
在託管成本和獲取操作的延遲/可靠性方面,每次需要值時查詢外部託管的數據庫可能過於昂貴。一個好的策略是在本地緩存結果,比如半個小時。或者,有一個單獨的查詢會導致數據庫的「版本」,並更新本地緩存(如果更改)。 – Xan
非常感謝 – pqx994