Après avoir testé l'application Web avec Lighthouse, j'ai l'erreur suivante:
L'utilisateur ne sera pas invité à installer Web. Les navigateurs peuvent de manière proactive Invitez les utilisateurs à ajouter votre application à leur écran d’accueil, qui peut conduire à un engagement plus élevé. Apprendre encore plus.
Échecs: travailleur de service ne parvient pas à servir le start_url du manifeste.
Tous les critères décrits ici sont satisfaits:
Les fichiers manifestes sont rendus via un script. Les variables importantes sont
scope_url = 'https://website.com/app/'
start_url = 'https://website.com/app/about/'
ServiceWoker.js est assez simple:
self.addEventListener('Push', function(e) {
...
});
self.addEventListener('notificationclick', function (e) {
...
);
Web App et sw.js sont servis à partir de start_url.
Que puis-je vérifier?
Edit 1. Lorsque j'essaie de "Ajouter à l'écran d'accueil" depuis la console Chrome, je reçois:
Site cannot be installed: the page does not work offline
ce qui est proche de ce commentaire
Après avoir remplacé start_url par ' https://website.com/app/ ' Et ajouté:
self.addEventListener('fetch', function(e){
});
à serviceWorker.js, le problème a été résolu.
Il semble qu'une version récente de chrome-devtools-lighthouse vérifie que votre start_url est bien servi (du contenu et du code de réponse 200 sont renvoyés) même lorsque le périphérique est hors ligne.