我正在研究一个需要存储用户数据的扩展。为此,我使用运行mysql数据库的托管服务器。但是目前数据的添加或更改都会向托管服务器发出请求。如何将chrome.storage与远程托管的数据库一起用于Chrome扩展?
Chrome扩展程序提供了chrome.storage.local
API,适合存储高达5MB的数据。我想利用此存储API来减少对托管服务器的请求数量,并将其用作临时存储。
我打算使用chrome.storage.onChanged.addListener
和chrome.storage.local.getBytesInUse
检查,如果存储的数据超过某一阈值,然后只触发一个Ajax请求到远程服务器来保存数据。成功响应后,chrome.storage中的旧数据将被刷新。
但是有可能会丢失在服务器的请求/响应周期过程中创建的一些新数据。
如何防止数据丢失?有没有其他解决方案来减少这个扩展对远程服务器的请求数量的优化问题?
谢谢。
FWIW您可以添加''权限':[“unlimitedStorage”]'来克服5MB的限制。 – wOxxOm
@wOxxOm,我意识到这一点,但我也为我们的扩展用户显示了他们保存的数据的Web界面。为此,我必须将数据发送到托管服务器。所以,增加5MB的限制并不能完全解决我的问题。 –