您好我收到此错误:
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
这是我的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"
}
这是我的网址:“mydomain:8889 / wta /”这是我的代码结构:
-mydomain
--- WTA
------ CSS /
------字体/
------图像/
------ JS /
------的index.html
------的manifest.json
我缺少什么? THX
答案 0 :(得分:4)
为了使您的网络应用程序可以安装/添加到主屏幕,您需要满足以下要求:
有一个网络应用清单文件,其中包含short_name
,name
,icon
和start_url
(您已有)
服务工作者
必须通过HTTPS提供
目前您拥有Web应用程序清单文件,但您需要服务工作者。服务工作者基本上是一个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)
});
}
请注意,这应该位于根文件夹中,以便它适用于整个网站。
答案 1 :(得分:0)
您还需要一个服务工作者脚本来控制您的资产,离线插件应该是一个很好的选择!