IndexedDB Chrome StorageManager API报告配额远大于预期

bpzcxfmw  于 2022-12-09  发布在  IndexedDB
关注(0)|答案(1)|浏览(182)

我想得到我可以存储在indexedDB中的用于存储许多大型二进制文件的上限,而StorageManager.estimate()报告的比我真实的的空闲磁盘空间大得多。

然后我发现这个answer提供了一个检查chrome://quota-internals/的提示,页面神秘地显示了正确的stat。

这个chrome开发者博客说明了 * 估计的准确性 *,但没有多大帮助。

368yc8dk

368yc8dk1#

存储API规范指出:
存储架的存储配额是由实现定义的对其可容纳的字节总数的保守估计。此数量应小于设备上的总存储空间。它不能是设备上可用存储空间的函数。
返回的值不是基于设备上的实际可用空间,而是小于设备总容量的量,并基于与用户参与度相关的几个因素。
直接或间接地泄露可用存储空间可能会导致在所涉及的源范围之外进行指纹识别和泄露信息。
这篇文章指出,Chrome允许一个origin最多使用总磁盘空间的60%,这与我在查询配额时看到的结果一致。没有办法获得实际可用的空闲空间。此时,Chrome将始终将配额报告为总磁盘空间的%60,除非在某些情况下,如在隐身模式下浏览。其他浏览器的行为可能会有所不同,因为这是由浏览器供应商来决定如何实现此功能。

相关问题