概述Navigation Preload 允许浏览器在 Service Worker 启动期间并行发起导航请求的预取,避免 SW 冷启动导致的首屏延迟。SW 接管时可通过 `FetchEvent.preloadResponse` 直接使用预取结果。启用与头在 SW `activate` 中启用:`self.registration.navigationPreload.enable()`;也可随时禁用或设置头值[参考2,1]。头部:`Service-Worker-Navigation-Preload` 可携带任意值;通过 `setHeaderValue()` 指定,例如最近缓存版本等用于后端选择[参考3,1]。消费与框架使用 `event.preloadResponse` 获取预取响应并作为网络优先路径;Workbox 提供 `navigation-preload` 模块与 `NetworkFirst` 策略协同[参考4]。参考与验证[参考1]MDN:`NavigationPreloadManager`(启用/禁用与头值):https://developer.mozilla.org/en-US/docs/Web/API/NavigationPreloadManager[参考2]web.dev:启用 Navigation Preload 加速 SW(示例代码与注意):https://web.dev/blog/navigation-preload[参考3]MDN:`Service-Worker-Navigation-Preload` 头说明与 `setHeaderValue`:https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Service-Worker-Navigation-Preload[参考4]Chrome Docs:Workbox 的导航预加载与 NetworkFirst 示例:https://developer.chrome.com/docs/workbox/navigation-preload关键词校验关键词与 Navigation Preload 一致。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.869621s