存储
发布于
存储决定 PWA 能在设备上保留多少、有多持久,以及在存储压力下如何存活。具备离线能力的 应用依赖它:Cache Storage 保存应用外壳与资源,IndexedDB 保存结构化数据,而 StorageManager API 管理配额与持久化。
这些条目讲解你能获得多少、如何让它持久、什么会被淘汰,以及跨站存储访问如何运作。
StorageManager.persist() 与 persisted()navigator.storage.persist() 如何申请把源提升为持久化存储、Chrome、Firefox 与 Safari 如何处理该申请,以及如何为返回 false 编码。
CacheStorage 与 caches 全局对象caches 全局对象如何打开、列出和删除 Cache 对象,不透明响应的配额填充,以及写入失败时的 TypeError 与 QuotaExceededError。
Clear-Site-Data 响应头Clear-Site-Data 响应头:带引号的指令语法,cache、cookies、storage 各清除什么,各浏览器的支持情况,以及如何在退出登录时发送它。
逐出与尽力而为存储浏览器可以不经询问删除哪些数据、Chrome 与 Firefox 的 LRU 顺序、Safari 的七天规则与主屏幕例外,以及存储桶为何整体清除。
IDBFactory.open() 与 IndexedDB 请求模型indexedDB.open() 如何创建并升级带版本号的数据库、schema 变更为何只能在 upgradeneeded 内进行,以及 PWA 必须处理的 VersionError 与配额错误。
localStorage 与 sessionStoragelocalStorage 与 sessionStorage 背后的同步 Storage 接口:方法语法、Firefox 的 5 MiB 配额、Chromium 的配额报错文本,以及 storage 事件。
navigator.storage.getDirectory()(OPFS)getDirectory() 如何打开源私有文件系统、createSyncAccessHandle() 如何让专用 worker 获得同步读写,以及与锁相关的异常。
分区 Cookie(CHIPS)Set-Cookie 的 Partitioned 属性如何让被嵌入站点在每个顶级站点下拥有独立 Cookie 罐、Secure 与 __Host- 规则、Chrome 的限制与各引擎支持。
StorageManager.estimate()navigator.storage.estimate() 返回什么、Chrome、Firefox 与 Safari 如何按磁盘比例计算每源配额,以及如何围绕 QuotaExceededError 规划写入。
Document.requestStorageAccess()requestStorageAccess() 与 hasStorageAccess() 如何让跨站 iframe 访问未分区的 Cookie、用户激活的要求,以及拒绝条件。
← 返回参考总览。