service-worker.js:1 GET http://localhost:8080/service-worker.js net::ERR_FILE_EXISTS
这是我在注册服务工作者后每次刷新时得到的错误。我确保根目录中存在service-worker.js文件。此外,服务人员已注册并正常工作。但我仍然不断收到这个错误。我也在使用localhost。
这是我的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;
});
});
})
);
});
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);
});
}
答案 0 :(得分:32)
我看到了同样的问题。它可以安全地被忽略。
此错误会跟踪Chrome中的噪音:https://code.google.com/p/chromium/issues/detail?id=541797
应该从Chrome 50开始直播。
来自主题:
改善因未找到更新而导致服务工作人员失误的错误代码
ServiceWorkerWriteToCacheJob是URLRequestJob负责的 获取和编写更新的脚本。它因网络错误而失败 当它想要中止更新时,因为新脚本是相同的 作为旧的。
目前,这会导致DevTools中出现ERR_FAILED错误 控制台和netlog,这是令人困惑和难以调试的原因 实际网络错误也会发生错误。这个补丁改变了 错误到FILE_EXISTS,因此更清楚为什么作业“失败”。