灯塔错误地指出我没有注册服务工作者

时间:2017-09-14 02:58:26

标签: javascript web-applications geolocation service-worker lighthouse

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

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

不注册服务工作者   和 系统不会提示用户安装Web App 失败:Manifest没有至少192px的图标,Site没有注册服务工作者,Manifest start_url没有被服务工作者缓存。

为什么没有看到我注册的服务工作者?

2 个答案:

答案 0 :(得分: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"
}

答案 1 :(得分:0)

没有足够的声誉来添加评论。但是,如果您碰巧在页面加载结束时注册服务工作者,以延迟加载的方式,尝试将服务工作者注册部分移动到头标记,您可能会获得通行证。并不是说这是一种很好的做事方式,但是灯塔有一个问题:https://github.com/GoogleChrome/lighthouse/issues/1815

我遇到了这个问题,有一个完全正常工作的服务工作者,但是灯塔正在告诉我,并且我能够通过将服务工作者注册部分移动到头标签来获得通行证。