改进渐进式 Web 应用离线支持检测

Penny McLachlan
Penny McLachlan

渐进式 Web 应用 (PWA) 是一种用于 使用 Web 技术构建现代的可安装式应用, 桌面设备上。

打造现代网络体验的标准之一, 恰巧是 PWA,那就是应用即使设备在运行,应用也必须继续运行 处于离线状态。这意味着,如果用户网络中断,Chrome 恐龙屏幕将不会显示 访问!

所有 PWA 标准的目标是帮助确保用户拥有较高 高品质的竞争体验Chrome 执行 在启用安装之前,会对照 PWA 条件进行检查 PWA 功能

仅限执行所有核心的应用 渐进式 Web 应用可安装性标准,包括支持 适用于离线模式,可以通过 Chrome 安装到设备上。

之前的离线检测逻辑

离线支持验证已成为 PWA 可安装性的一部分 标准。直到最近,Chrome 才使用 通过 Service Worker 模拟请求的能力 无法实现正确的离线行为。

Service Worker 示意图

这意味着,Chrome 无法验证 fetch 事件处理脚本在离线检查期间返回了 HTTP 200 的有效资源。 Chrome 仅检查 Service Worker 是否确实具有 fetch 处理程序。

更新了离线检测逻辑

Chrome 89 增加了通过 Service Worker,从而改进了离线检测逻辑,以更好地反映 获得应用的实际离线支持

我们计划利用这一新功能来确保 PWA 提供有效的 页面,但已将这些方案保留。可安装性检查 如果页面具有包含 fetch 事件处理脚本。

这对开发者有什么影响?

虽然目前不需要进行任何更改,但我们强烈建议您提供 因为我们希望使用更新后的逻辑来检查广告系列是否 在将来某个时间访问该网页。

您希望提供何种离线体验完全由您决定。 一方面是功能齐全的离线体验。这意味着 预先缓存所需的所有资源和数据,并将数据与您的 服务器。缓存资源也有助于改进 核心网页指标,因为它无需下载 每次从网络获取资源另一方面是 自定义离线后备网页的网页。

警告下方显示的警告 在 Chrome 90 左右,开发者工具中的问题标签页将被移除。