2015-05-19 5 views
4

Я получаю эту ошибку при попытке зарегистрировать работника службы:404 Ошибка при попытке зарегистрировать serviceWorker

Не удалось зарегистрировать ServiceWorker: Плохой код ответа HTTP (404) был gwreceived при извлечении сценария.

Я работаю с ионными и это то, что я имею в 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'); 
    } 

В директории у меня есть сервис-worker.js файл прямо рядом с app.js в той же папке.

Использование последней версии chrome на рабочем столе ubuntu.

+1

Проверьте разрешения для файла? У вас есть права на чтение? – Duniyadnd

+0

Вы также должны знать, что рабочий сервис не может быть инициализирован, если страница загружается локально, например. для целей тестирования. Сообщение об ошибке можно избежать, проверяя это дополнительное условие: (!/^ (?: | localhost | 127 \ .0 \ .0 \ .1) $ /. Test (location.hostname)) –

ответ

18

Вы упомянули, что у вас есть service-worker.js в том же каталоге, что и app.js, но URL-адрес, переданный в .register(), относится к пути HTML-документа. Вы должны убедиться, что ваш файл service-worker.js находится в том же каталоге, что и файл .html, соответствующий вашей странице.

1

Документ HTML, который пытается зарегистрировать сервисного работника и SW.js, должен находиться в том же каталоге.

enter image description here

Смежные вопросы