服务工作者抛出net :: ERR_FILE_EXISTS错误?

service-worker.js:1 GET http://localhost:8080/service-worker.js net::ERR_FILE_EXISTS 

注册服务人员后,每次刷新时都会出现这个错误。 我已经确定service-worker.js文件存在于根目录中。 此外,服务人员注册并正常工作。 但我仍然不断得到这个错误。 另外我正在本地主机上工作。

这是我的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); }); } 

我看到了同样的问题。 它可以安全地被忽略。

这个错误跟踪从Chrome删除噪音: https : //code.google.com/p/chromium/issues/detail?id = 541797

它应该从Chrome 50开始。

从线程:

由于没有find更新,改善了服务人员保pipe的错误代码

ServiceWorkerWriteToCacheJob是URLRequestJob负责获取和写入更新的脚本。 由于新脚本与旧脚本相同,因此当它想要中止更新时,它会因networking错误而失败。

目前,导致ERR_FAILED错误出现在DevTools控制台和netlog中,这是令人困惑和难以debugging,因为实际networking错误也会发生此错误。 该补丁将错误更改为FILE_EXISTS,所以更清楚为什么作业“失败”。