即使满足所有 PWA 规范并在 Light House 上检查后,添加到主屏幕也不会提示。
我已尝试以下代码来检查应用程序是否已安装。但 appinstalled 事件未触发,而 beforeinstallprompt 事件已成功触发。
//应用程序已安装
window.addEventListener('appinstalled', (evt) => {
app.logEvent('a2hs', '已安装');
});
//安装提示之前
window.addEventListener('beforeinstallprompt', (event) => {
event.preventDefault();
deferredPrompt = event;
});```
// manifest.json
`{
"name": "demo",
"short_name": "demo",
"icons": [{
"src": "/static/public/icon/icon-192x192.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "/static/public/icon/icon-512x512.png",
"sizes": "192x192",
"type": "image/png"
}
],
"start_url": "/",
"orientation": "portrait",
"display": "standalone",
"theme_color": "#085689",
"background_color": "#085689",
"gcm_sender_id": "103xx3xxx50x",
"gcm_user_visible_only": true
}
`
// service worker
`self.addEventListener('fetch', (event) => {
console.log('event', event);
});`
最佳答案
从代码中删除此行
event.preventDefault();
从 Chrome 76 开始,preventDefault() 停止显示自动迷你信息栏
更多详情请点击这里
https://developers.google.com/web/fundamentals/app-install-banners/
关于manifest - 添加到主屏幕在 Beforeinstallprompt 事件触发后不提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58081643/