这太疯狂了。有一个简单的 Wordpress 博客。使用 Chrome 的 Web 开发人员工具中的 Lighthouse 工具进行审计。对于 Progressive Web App 领域,我的分数是 53 分,有以下三个错误。我不知道如何解决这些错误。
离线时不响应 200。
不会提示用户安装 Web 应用程序
失败:清单的display
值不是以下之一:minimal-ui | 全屏 | 独立,站点不注册服务工作者。
- 不注册服务工作者。
Service Worker 是一种使您的应用程序能够使用许多 Progressive Web App 功能的技术,例如离线、添加到主屏幕和推送通知。
这是我的 manifest.json 文件。我将 URL 更改为 example.com。而且我知道通过访问 example.com/manifest.json 可以在服务器上访问它,这也是在标头中调用它的方式。我是否遗漏了清单中的任何内容以导致这些错误?
{
"name": "My Site",
"short_name": "My Site",
"theme_color": "#ffffff",
"background_color": "#082953",
"display": "browser",
"Scope": "/",
"start_url": "https://www.example.com",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"splash_pages": null
}
这是我从主页生成的标题。不确定我是否需要所有这些图标。有点困惑,因为 Lighthouse 说清单需要 512x512,但 realfavicongenerator 和其他清单生成器似乎不会产生 512x512,所以我只是在 Photoshop 中制作了一个并与其余图标一起上传到 root,然后添加了额外的代码到 manifest.json 文件。
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="My Site">
<meta name="apple-mobile-web-app-title" content="My Site">
<meta name="theme-color" content="#ffffff">
<meta name="msapplication-navbutton-color" content="#082953">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="My Site">
<meta name="msapplication-starturl" content="https://www.example.com">
<meta name="msapplication-TileColor" content="#082953">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="manifest" href="/manifest.json">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-chrome-192x192.png">
<link rel="icon" type="image/png" sizes="384x384" href="/android-chrome-384x384.png">
<link rel="icon" type="image/png" sizes="512x512" href="/android-chrome-512x512.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#082953">