【发布时间】:2017-05-08 04:56:24
【问题描述】:
我正在开发一个 chrome 扩展,它必须存储其用户的数据。为此,我使用的是运行 mysql 数据库的托管服务器。但目前数据的任何添加或更改都会触发对托管服务器的请求。
Chrome 扩展提供chrome.storage.local API,适合存储最大 5mb 的数据。我想利用此存储 API 将其用作临时存储来减少对托管服务器的请求数量。
我打算使用chrome.storage.onChanged.addListener 和chrome.storage.local.getBytesInUse 来检查存储的数据是否超过某个阈值,然后只向远程服务器发出一个ajax 请求来保存数据。成功响应后,chrome.storage 中的旧数据将被清除。
但是有可能丢失一些在服务器请求/响应周期过程中创建的新数据。
如何防止数据丢失?对于减少从扩展对远程服务器的请求数量的优化问题,是否有任何替代解决方案?
谢谢。
【问题讨论】:
-
FWIW 您可以添加
"permissions": ["unlimitedStorage"]以克服 5MB 限制。 -
@wOxxOm,我知道这一点,但我也为我们的扩展程序的用户提供了一个 Web 界面,用于显示他们保存的数据。为此,我必须将数据发送到托管服务器。所以,增加 5MB 的限制并不能完全解决我的问题。
标签: javascript google-chrome-extension google-chrome-storage