`title: Background Fetch API 离线下载与持久化队列``categories: Web 开发/前端/数据管理``keywords: Background Fetch,Service Worker,离线下载,队列,持久化``description: 在支持的平台使用 Background Fetch API 进行离线大文件下载,并通过 IndexedDB 管理持久化队列与回退。`注册与使用// 页面请求后台下载 async function startBackgroundFetch(url, id) { const reg = await navigator.serviceWorker.ready; const bg = await reg.backgroundFetch.fetch(id, [url], { title: 'Downloading', icons: [] }); } SW 事件self.addEventListener('backgroundfetchsuccess', async (e) => { const recs = await e.event.registration.matchAll(); for (const r of recs) { const res = await r.responseReady; const buf = await res.arrayBuffer(); // 写入 OPFS 或 IndexedDB } }); 回退不支持时回退到 SW + Range 断点下载策略。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.911052s