0

我一直在尝试使用 chrome 扩展对本地驱动器进行一些 CRUD 操作。我知道我将无法直接访问本地文件系统,沙盒环境就可以了。

LocalStorage 适用于高达 5 mb 的数据。我会需要更多。我发现设置“unlimitedStorage”不会为 LocalStorage 授予更多权限。

“无限存储”

为存储 HTML5 客户端数据(例如数据库和本地存储文件)提供无限配额。如果没有此权限,扩展程序或应用程序将被限制为 5 MB 的本地存储空间。

注意:此权限仅适用于 Web SQL 数据库和应用程序缓存(请参阅问题 58985)。此外,它目前不适用于 http://*.example.com 等通配符子域。

请参阅 chrome 扩展文档

然后我尝试使用FileSystemApi。但事实证明,只有 chrome 应用程序才能使用这个 api。

据我所知,我还有 4 个其他选择:

  • WebSQL,已弃用
  • IndexedDB,看起来很有希望
  • 应用程序缓存,在unlimitedStorage 描述的注释中引用。
  • Storage api,似乎用于扩展程序和应用程序

我有一种预感,indexedDb 将允许某种形式的 CRUD。我不愿意使用 WebSQL,因为它已被弃用,而且我还没有找到有关应用程序缓存的信息,尽管我怀疑为扩展存储数据是否在其预期目的范围内。

chrome 扩展是否可以在本地文件系统上保存、加载和删除文件?我是否对 LocalStorage 限制或在 chrome 扩展中使用 fileSystem Api 有误解?IndexedDB 能满足我的需求吗?

4

1 回答 1

0

尝试使用 Cordova、电容器或类似产品。

在浏览器中,在你的测试区运行代码,如果你想使用你的沙箱,你需要在设备(iOS、Android、Windows、Linux等)上运行应用程序并使用沙箱内的原生资源,别忘了请求许可。

如果您使用 ionic v4,您可以使用电容器,最重要的是您可以从 Web 组件构建本机应用程序,以将您的沙箱放入本机设备!

电容器: https ://capacitor.ionicframework.com/docs/apis/filesystem/

科尔多瓦: https ://cordova.apache.org/docs/en/latest/cordova/storage/storage.html

于 2019-04-17T09:12:37.640 回答