11

使用 Lighthouse 测试 Web 应用程序后,我遇到了这样的错误:

不会提示用户安装 Web 应用程序浏览器可以主动提示用户将您的应用程序添加到他们的主屏幕,这可以提高参与度。学到更多。

失败:Service Worker 未成功提供清单的 start_url。

满足此处描述的所有标准:

  1. 该站点通过 HTTPS 提供服务。
  2. 服务工作者已注册。
  3. Service Worker 的范围包括您审核的页面和 Web 应用清单的 start_url 属性中指定的页面。
  4. 存在 Web 应用清单并满足以下条件: 具有有效的名称属性。具有有效的 short_name 属性。具有有效的 start_url 属性。具有有效的显示属性,值为独立、全屏或最小用户界面。指定至少为 192 x 192 像素的图标。

清单文件通过脚本呈现。重要的变量是

scope_url = 'https://website.com/app/'
start_url = 'https://website.com/app/about/'

ServiceWoker.js 非常简单:

self.addEventListener('push', function(e) {

  ...
});

self.addEventListener('notificationclick', function (e) {
    ...
);

Web App 和 sw.js 从 start_url 提供。

我还能检查什么?

编辑 1.当我尝试从 Chrome 控制台“添加到主屏幕”时,我得到:

Site cannot be installed: the page does not work offline这条评论 接近什么

4

2 回答 2

5

将 start_url 更改为https://website.com/app/ 并添加:

self.addEventListener('fetch', function(e){

});

到 serviceWorker.js 问题已经解决了。

于 2017-10-26T14:09:49.363 回答
0

即使设备处于离线状态,最新版本的 chrome-devtools-lighthouse 似乎也可以验证您的 start_url 是否已成功提供(返回一些内容和响应代码 200)。

于 2018-10-16T06:41:26.850 回答