service-worker.js:1 GET http://localhost:8080/service-worker.js net::ERR_FILE_EXISTS
C'est l'erreur que j'obtiens chaque fois que je rafraîchis après avoir enregistré un technicien de service. Je me suis assuré que le fichier service-worker.js existe dans le répertoire racine. L'employé de service est également enregistré et fonctionne bien. Mais je continue à recevoir cette erreur. Je travaille également sur localhost.
Voici mon fichier service-worker.js:
console.log("SW startup");
var CACHE_NAME = "my_cache";
var urlsToCache = [
'./',
'./css/style.css',
'./js/script.js'
];
self.addEventListener('install', function(event) {
// Perform install steps
event.waitUntil(
caches.open(CACHE_NAME)
.then(function(cache) {
console.log('Opened cache');
return cache.addAll(urlsToCache);
})
);
});
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.open(CACHE_NAME).then(function(cache) {
return cache.match(event.request).then(function (response) {
return response || fetch(event.request.clone()).then(function(response) {
console.dir(response);
console.log('hi');
cache.put(event.request.clone(), response.clone());
return response;
});
});
})
);
});
fichier script.js:
if (navigator.serviceWorker) {
console.log("ServiceWorkers are supported");
navigator.serviceWorker.register('service-worker.js')
.then(function(reg) {
console.log("ServiceWorker registered ◕‿◕");
console.dir(reg);
})
.catch(function(error) {
console.log("Failed to register ServiceWorker ಠ_ಠ");
console.dir(error);
});
}
Je vois le même problème. Il peut être ignoré en toute sécurité.
Ce bogue suit la suppression du bruit de Chrome: https://code.google.com/p/chromium/issues/detail?id=541797
Il devrait être en direct à partir de Chrome 50.
Du fil:
Amélioration du code d'erreur pour le vidage du travailleur de service car aucune mise à jour n'a été trouvée
ServiceWorkerWriteToCacheJob est l'URLRequestJob responsable de la récupération et de l'écriture du script mis à jour. Il échoue avec une erreur réseau lorsqu'il souhaite abandonner la mise à jour car le nouveau script est le même que l'ancien.
Actuellement, cela entraîne des erreurs ERR_FAILED apparaissant dans la console DevTools et netlog, ce qui est déroutant et difficile à déboguer car cette erreur se produit également pour des erreurs réseau réelles. Ce correctif change l'erreur en FILE_EXISTS, il est donc plus clair pourquoi le travail a "échoué".