为什么在 activate 事件中清理旧版本缓存而不是在 install 事件中?
为什么在 activate 事件中清理旧版本缓存而不是在 install 事件中? 本文先给出可直接复述的结论,再用最小代码说明activate 事件 清理旧缓存 cacheName的工作方式、判断依据、项目边界和常见误区。
PWA · 缓存面试题第 1 页,显示第 1–24 题,共找到 24 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
为什么在 activate 事件中清理旧版本缓存而不是在 install 事件中? 本文先给出可直接复述的结论,再用最小代码说明activate 事件 清理旧缓存 cacheName的工作方式、判断依据、项目边界和常见误区。
Cache Storage API 和浏览器 HTTP 缓存有什么区别,为什么 PWA 离线要显式使用 Cache API? 本文先给出可直接复述的结论,再用最小代码说明Cache Storage API HTTP缓存 区别的工作方式、判断依据、项目边界和常见误区。
带内容哈希的静态资源与 HTML 文档应分别采用什么缓存与失效策略? 本文先给出可直接复述的结论,再用最小代码说明内容哈希 缓存失效 HTML 静态资源的工作方式、判断依据、项目边界和常见误区。
Cache First 缓存策略适用于 PWA 中哪些资源,它最大的风险是什么? 本文先给出可直接复述的结论,再用最小代码说明Cache First 缓存策略 适用场景 风险的工作方式、判断依据、项目边界和常见误区。
Cache Only 和 Network Only 两种极端策略各自适合什么资源? 本文先给出可直接复述的结论,再用最小代码说明Cache Only Network Only 适用资源的工作方式、判断依据、项目边界和常见误区。
为什么把 fetch 的 Response 存入缓存前必须 response.clone()? 本文先给出可直接复述的结论,再用最小代码说明Response clone 缓存 只读一次的工作方式、判断依据、项目边界和常见误区。
PWA 是否应该把大体积音视频资源纳入离线缓存,取舍标准和替代方案是什么? 本文先给出可直接复述的结论,再用最小代码说明离线缓存 大文件 音视频 取舍的工作方式、判断依据、项目边界和常见误区。
如何用 Chrome DevTools 的 Application 面板诊断 Service Worker 注册失败和缓存未命中的问题? 本文先给出可直接复述的结论,再用最小代码说明DevTools Application Service Worker 调试的工作方式、判断依据、项目边界和常见误区。
离线时图片加载失败如何用占位图回退,fetch 事件中如何实现按请求类型的回退? 本文先给出可直接复述的结论,再用最小代码说明离线图片占位 fallback fetch respondWith的工作方式、判断依据、项目边界和常见误区。
如何在 fetch 事件中识别页面导航请求(request.mode === 'navigate')并与静态资源分流处理? 本文先给出可直接复述的结论,再用最小代码说明fetch 事件 request.mode navigate 分流的工作方式、判断依据、项目边界和常见误区。
Service Worker 的 install 事件中预缓存失败会发生什么,如何保证安装原子性? 本文先给出可直接复述的结论,再用最小代码说明install 事件 预缓存失败 event.waitUntil的工作方式、判断依据、项目边界和常见误区。
同一站点不同 scope 注册多个 Service Worker 会怎样,如何避免互相覆盖缓存? 本文先给出可直接复述的结论,再用最小代码说明多个 Service Worker scope 冲突的工作方式、判断依据、项目边界和常见误区。
Network First 策略在什么业务场景下优于 Cache First,网络超时时应如何兜底? 本文先给出可直接复述的结论,再用最小代码说明Network First 策略 超时回退的工作方式、判断依据、项目边界和常见误区。
离线状态下 API 数据请求应该如何设计回退,返回缓存数据和返回错误提示如何取舍? 本文先给出可直接复述的结论,再用最小代码说明离线 API 请求 回退 缓存数据的工作方式、判断依据、项目边界和常见误区。
navigator.onLine 和 online/offline 事件为什么不足以判断真实连通性,离线功能应如何兜底? 本文先给出可直接复述的结论,再用最小代码说明navigator.onLine online事件 可靠性的工作方式、判断依据、项目边界和常见误区。
跨域 no-cors 请求缓存得到的 opaque response 有什么问题,如何影响存储配额统计? 本文先给出可直接复述的结论,再用最小代码说明opaque response 跨域缓存 配额的工作方式、判断依据、项目边界和常见误区。
预缓存(precaching)和运行时缓存(runtime caching)的区别是什么,各自适合缓存什么? 本文先给出可直接复述的结论,再用最小代码说明precaching runtime caching 区别的工作方式、判断依据、项目边界和常见误区。
渐进增强视角下,浏览器不支持 Service Worker 时站点应如何保证功能可用? 本文先给出可直接复述的结论,再用最小代码说明渐进增强 Service Worker 不支持 降级的工作方式、判断依据、项目边界和常见误区。
为什么建议对 Service Worker 脚本本身设置很短的 HTTP 缓存或使用 no-cache? 本文先给出可直接复述的结论,再用最小代码说明Service Worker 脚本 HTTP缓存 max-age的工作方式、判断依据、项目边界和常见误区。
Stale-While-Revalidate 策略如何实现,为什么它适合列表页这类场景? 本文先给出可直接复述的结论,再用最小代码说明Stale While Revalidate 实现原理 适用场景的工作方式、判断依据、项目边界和常见误区。
PWA 如何用 StorageManager.estimate() 监控缓存占用,浏览器在什么情况下会主动清除站点存储? 本文先给出可直接复述的结论,再用最小代码说明StorageManager estimate 配额 存储驱逐的工作方式、判断依据、项目边界和常见误区。
什么时候应该注销 Service Worker,unregister() 之后缓存会一起清除吗? 本文先给出可直接复述的结论,再用最小代码说明Service Worker unregister 注销 清缓存的工作方式、判断依据、项目边界和常见误区。
部署了新代码但用户仍看到旧页面,从 Service Worker 角度列出最可能的原因清单? 本文先给出可直接复述的结论,再用最小代码说明Service Worker 不更新 排查的工作方式、判断依据、项目边界和常见误区。
PWA 缓存如何设计版本化命名,保证发布新版本时旧缓存被安全替换? 本文先给出可直接复述的结论,再用最小代码说明缓存版本命名 版本迁移的工作方式、判断依据、项目边界和常见误区。