使用IndexedDB作为存储开发离线Chrome应用程序,并有以下问题:
1.除了用户在我的应用程序中打开控制台并清除indexedDB之外,我还需要担心IndexedDB数据丢失的其他方式吗?
2.由于Chrome应用程序现在可以使用cordova在iOS和Android上运行,因此unlimitedStorage和FileSystem API是否也适用于这些平台?因此,我可以使用它们来存储我的indexeddb并使用文件系统来备份indexeddb。
使用IndexedDB作为存储开发离线Chrome应用程序,并有以下问题:
1.除了用户在我的应用程序中打开控制台并清除indexedDB之外,我还需要担心IndexedDB数据丢失的其他方式吗?
2.由于Chrome应用程序现在可以使用cordova在iOS和Android上运行,因此unlimitedStorage和FileSystem API是否也适用于这些平台?因此,我可以使用它们来存储我的indexeddb并使用文件系统来备份indexeddb。
IndexedDB
:
如果您的应用程序超过了限制大小,数据将会“丢失”。(我不确定unlimitedStorage
是否仅适用于FS还是也适用于IDB - 但无论如何,磁盘也有限制)。
Chrome应用程序可以在设备间同步,但IndexedDB存储不行。chrome.storage.sync
可以(但更像是localStorage
替代品而非IndexedDB
替代品)。
我现在似乎找不到详细信息,但我记得听说过一种罕见的错误,可能导致某些应用程序(只有在经过特定类型的升级时)潜在地丢失IndexedDB数据。虽然这并不是常态,所以不必担心。但为了完整起见,这是另一种可能丢失数据的方式。
chrome.fileSystem
(以及 HTML5 fileSystem),但是在 iOS WebView 和 Android WebView KitKat 之前的版本中不支持本地 IndexedDB
。您可以安装一个 cordova
插件 来使其工作(我自己也使用过),但我不确定备份和恢复数据库本身会有多可靠/容易(您为什么要这样做?)。chrome.storage.local
,但尚不支持同步。