【问题标题】:Lighthouse and bubblewrap PWA check fails when testing offline for start_url离线测试 start_url 时,Lighthouse 和 bubblewrap PWA 检查失败
【发布时间】:2020-12-10 02:31:08
【问题描述】:

我有一个 PWA,我正在尝试使用 bubblewrap 工具 (https://github.com/GoogleChromeLabs/bubblewrap) 创建一个具有受信任 Web 活动的 Android 应用 (apk)。为了检查 PWA 标准,它使用了未通过以下审计步骤的 Lighthouse(红色):

start_url does not respond with a 200 when offline
Timed out waiting for start_url to respond.

但实际上关于当前页面离线的步骤是可以的(绿色):

Current page responds with a 200 when offline

我的 PWA 托管在一个 url:https://example.com/myapp/。因此服务工作者(清单)在“/myapp/”处具有启动 url 和范围。因此,如果我以离线模式访问此页面(选中开发工具“应用程序”选项卡中的“离线”框),它将提供一个离线页面,该页面在安装服务工作者时在开始时缓存(我遵循此示例:@987654323 @ 并且一切似乎都运行良好,我什至在我的手机上以飞行模式进行了测试)。

此外,启动页面重定向到 ?locale=en 但它是同一个网页(因此在离线模式下,每个 url 似乎都显示我的离线 html 页面)。更奇怪的是,在大约 20-30 份审计报告中,有一次通过了这一步,是随机的)

我正在 Mac、Chrome 84 上进行 Lighthouse 测试。

编辑: 所以我做了一些测试,我看到如果我访问http://example.com/myapp(而不是http://example.com/myapp/ - 最后有一个/),离线html页面不再显示。但是在清单中,范围和 start_url 被设置为“/myapp/”,所以我不知道这是否是一个问题(如果我将它们设置为“/myapp”,PWA 将不再工作,说没有该路径上的服务人员,这听起来很奇怪,因为我的码头服务器将 /myapp 重定向到 /myapp/ 两者应该是相同的资源)

【问题讨论】:

    标签: progressive-web-apps offline lighthouse bubblewrap


    【解决方案1】:

    Bubblewrap 灯塔检查是 [Pagespeed Insights API] 的封装。 PSI API 可能有点不稳定,有时无法运行。如果失败一直存在,我建议您针对 PSI 运行 URL,因为您应该得到相同的报告,但包含更详细的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-01
      • 1970-01-01
      • 2021-05-17
      • 2021-09-17
      • 1970-01-01
      • 2020-05-30
      • 2017-07-21
      • 1970-01-01
      相关资源
      最近更新 更多