我遇到了一个问题,我的应用程序无法访问足够的存储空间,而且我不知道如何请求更多存储。看起来曾经可以做类似:
的事情var requestedBytes = 1024*1024*10; // 10MB
navigator.webkitPersistentStorage.requestQuota(requestedBytes,
grantedBytes => console.log('grantedBytes', grantedBytes),
e => console.log('Error', e)
)
但是现在对API进行了弃用(例如,请参见Google的配额管理API页面(
这甚至可以了吗?我唯一发现的是navigator.storage.persist()
,但是如果我得到一个小配额,那是没有用的。
(撇开:我特别有问题,因为在测试时我使用了大量的存储空间,然后将我进一步的配额加油甚至更细(如100KB(,所以也很高兴甚至知道如何将配额作为用户手动重置,更不用说开发人员了。(
没有这样做的标准方式。
在Chrome中,扩展名(用户或管理员安装(可以授予Origin" UnlimitedStorage",但是...这不是网络。我们(Chrome Team(正在考虑通过改变我们的启发式方法来扩展起源的存储空间;不需要API呼叫。(当前的启发式方法导致允许每个磁盘尺寸的6%,这对于功能强大的Web应用程序太低。(
其他浏览器还具有其他启发式方法,可以进行多少存储。关于允许站点可以创建具有不同优先级的数据的多个"存储桶"(通过新API(的讨论,从而允许站点具有一个"低优先级"存储桶,可以存储更多数据,但它更加波动,并且可以是在存储压力下被浏览器丢弃。但是这些想法很早。