0

我的网络应用程序的源代码可以在这里找到:- https://drive.google.com/open?id=0B7Rmd3Rn8_hDNW1zSWRoXzBTclU

请参阅 RegisterServiceWorker.js 中的第 11 行,其中我清楚地注册了一个 ServiceWorker,但 Lighthouse 目前正在报告:-

不注册 Service Worker 并且不会提示用户安装 Web App 失败:Manifest 没有至少 192px 的图标,Site 没有注册 Service Worker,Manifest start_url 没有被 Service Worker 缓存。

为什么没有看到我注册的 Service Worker?

4

2 回答 2

2

没有足够的声誉来添加评论。但是,如果您碰巧在页面加载快结束时注册了 service worker,以延迟加载的方式,尝试将 service worker 注册部分移动到 head 标签,您可能会通过。不是说这是一种很好的做事方式,而是 Lighthouse 有一个问题:https ://github.com/GoogleChrome/lighthouse/issues/1815

我遇到了这个问题,有一个完全工作的服务人员,但 Lighthouse 告诉我不然,我可以通过将服务人员注册部分移动到头部标签来获得通行证。

于 2017-10-19T15:55:02.333 回答
0

如果我没记错的话,文件夹中没有图标资源。是的,您的文件夹中有gingerbreadhouse.png,但它不是清单文件特别需要的尺寸。有关如何声明图标的详细信息,请参阅this 。

{
    "short_name": "AirHorner",
    "name": "Kinlan's AirHorner of Infamy",
    "icons": [
        {
            "src": "launcher-icon-1x.png",
            "type": "image/png",
            "sizes": "48x48"
        },
        {
            "src": "launcher-icon-2x.png",
            "type": "image/png",
            "sizes": "96x96"
        },
        {
            "src": "launcher-icon-4x.png",
            "type": "image/png",
            "sizes": "192x192"
        }
    ],
    "start_url": "index.html?launcher=true"
}
于 2017-10-10T22:25:06.940 回答