添加到主屏幕后,即使其符合所有PWA规范并在灯塔上进行了检查,也不会出现提示。
我尝试了以下代码来检查应用程序是否已安装。但是未触发appinstalled事件,并且成功触发了installprompt事件。
//已安装应用
window.addEventListener('appinstalled', (evt) => {
app.logEvent('a2hs', 'installed');
});
// beforeinstallprompt
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);
});`
答案 0 :(得分:2)
从代码中删除此行
event.preventDefault();
从Chrome 76开始,preventDefault()阻止了自动显示迷你信息栏
更多详细信息
https://developers.google.com/web/fundamentals/app-install-banners/
答案 1 :(得分:0)
event.preventDefault();
这引起了您的问题。删除它。
答案 2 :(得分:0)
通过删除Lemma plus_assoc : forall x y z, x + y + z = x + (y + z).
,您将不再控制该事件!
我建议一种精简的方式来控制事件,并获取有关安装的信息,请尝试以下代码:
event.preventDefault()