Val*_*lli 0 android json google-chrome progressive-web-apps
您好,我收到此错误:
Site cannot be installed: no matching service worker detected. You may need to reload the page, or check that the service worker for the current page also controls the start URL from the manifest
Run Code Online (Sandbox Code Playgroud)
这是我的 manifest.json:
{
"name": "SIMIC project",
"short_name": "simic",
"icons": [{
"src": "images/simic-bn.png",
"type": "image/png",
"sizes": "32x32"
},
{
"src": "images/simic-bn.png",
"type": "image/png",
"sizes": "144x144"
}],
"start_url": "/wta/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#1e88e5"
}
Run Code Online (Sandbox Code Playgroud)
这是我的网址:“mydomain:8889/wta/”,这是我的代码结构:
-mydomain
---wta
------CSS/
------字体/
- - - 图片/
------js/
------index.html
------manifest.json
我错过了什么?谢谢
小智 5
为了使您的 Web 应用程序可安装/添加到主屏幕,您需要满足以下要求:
有一个带有 a short_name
、 a name
、 anicon
和 a的网络应用清单文件start_url
(你已经有了)
服务人员
它必须通过 HTTPS 提供服务
目前您拥有 Web 应用清单文件,但您需要一个 Service Worker。Service Worker 基本上是一个 Javascript 文件,可以拦截网络请求、缓存您的资产、可以发送推送通知等。
你可以创建这个 js 文件并像这样注册你的服务工作者:
if ('serviceWorker' in navigator) {
// register the service worker
navigator.serviceWorker.register('service-worker.js')
.then(function(reg){
console.log("service worker registered");
}).catch(function(err) {
console.log("error: ", err)
});
}
Run Code Online (Sandbox Code Playgroud)
请注意,这应该位于根文件夹中,以便它适用于整个站点。