1. 借助于浏览器
典型场景:Google Docs文档 → 发生断网 → 开启离线编辑
Google Docs 文档在网络异常或服务异常的情况下,不会直接中断用户的编辑动作。对于特殊环境或者紧急情况下,用户体验友好。
离线场景的持久化存储基于 indexedDB。indexedDB 可以针对大文件保存 Blob 数据,而 File 类是基于 Blob 的,所以本地附件离线持久化经过验证可行。localforage 对 indexedDB 进行了封装,提供了更加便利的 api,支持 Promise 调用,并能在不支持的浏览器中自动降级为WebSQL 和 localStorage。所以离线数据可采用 localforage 进行存储。
2. 借助于客户端容器
典型场景:Google Docs App 中打开文档。