J'obtiens cette erreur en essayant d'inscrire le technicien de service:
Échec de l'inscription d'un serviceWorker: un code de réponse HTTP incorrect (404) a été généré lors de l'extraction du script.
Je travaille avec ionic et voici ce que j'ai dans l'app.js:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js').then(function(registration) {
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}).catch(function(err) {
//registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
}else {
console.log('No service-worker on this browser');
}
Sur le répertoire, j'ai le fichier service-worker.js juste à côté de app.js dans le même dossier.
Utilisation de la dernière version de chrome sur le bureau Ubuntu.
Vous dites que vous avez service-worker.js
dans le même répertoire que app.js
, mais l'URL transmise à .register()
est relative au chemin du document HTML. Vous devez vous assurer que votre fichier service-worker.js
se trouve dans le même répertoire que le fichier .html
correspondant à la page sur laquelle vous vous trouvez.
les opérateurs de service et le fichier index.html doivent se trouver dans un répertoire commun.
Vous devez simplement indiquer le chemin correct à navigator.serviceWorker.register et il n’est pas nécessaire que ce soit le même fichier HTML.
Par exemple, mon service-worker.js se trouve dans le dossier Scripts de mon application. Par conséquent, je devais passer le chemin "/Scripts/service-worker.js" sur navigator.serviceWorker.register, par exemple:
navigator.serviceWorker.register('/Scripts/service-worker.js')