前端/移动开发面试题更新 2026-08-05

关于 IndexedDB,存储容量的上限是怎么被限定和管理的?

前端/移动开发风险判断技术原理

考察说明

考查对 IndexedDB 存储容量限制机制的理解,包括浏览器配额、分组和用户控制。

回答思路

  1. 【回答框架 1】IndexedDB 的存储大小没有固定数值,而是由浏览器厂商依据可用磁盘空间动态分配。Chrome 等浏览器采用配额管理,通常将可用空间与已存储数据总量比例作为上限,而非一次性预留固定容量。
  2. 【回答框架 2】不同来源(站点)的数据被分组管理,每个源有独立配额。当配额不足时,浏览器会提示清除或扩展,用户可通过浏览器设置调整。
  3. 【回答框架 3】In private mode 或禁用存储时,容量限制会不同。开发者可调用 navigator.storage.estimate 获取当前源的使用量和配额估算。
  4. 【回答框架 4】实际写入需注意配额耗尽错误(QuotaExceededError),应监听 storage 事件并设计备份或清理策略。
  5. 【回答框架 5】移动端和桌面端策略存在差异,且浏览器版本更新可能调整算法,需以实际环境验证为准。
  6. 【关键点 1】IndexedDB 容量由浏览器动态计算,非固定值。
  7. 【关键点 2】不同站点有独立配额,总体受磁盘空间制约。
  8. 【关键点 3】通过 navigator.storage.estimate 可获取估算配额与使用量。
  9. 【关键点 4】写入超限会触发配额错误,需要异常处理。
  10. 【关键点 5】用户可手动调整存储设置,但开发者不能强制配置。
  11. 【易错点 1】不可假设所有浏览器配额算法一致,需兼容测试。
  12. 【易错点 2】配额耗尽时不一定立即报错,可能延迟,不能仅靠错误事件处理。