Ответ 1
Проблема заключалась в том, что файл service-worker.js был сохранен в подкаталоге assets
.
Не делайте этого: сохраните service-worker.js в root of your app
(или выше). Таким образом ваше приложение может получить доступ к сервис-работнику.
Смотрите статью HTML5Rocks -
Одна тонкость с помощью метода register - это расположение файла рабочего.. В этом случае вы увидите, что файл рабочего сотрудника находится в корне домена. Это означает, что область рабочего обслуживающего персонала будет иметь все происхождение. Другими словами, этот сервисный работник получит события выборки для всего, что находится в этом домене. Если мы зарегистрируем файл рабочего сотрудника в /example/sw.js, тогда рабочий службы увидит только события выборки для страниц, URL которых начинается с/example/(т.е./example/page1/,/example/page2/).
Добавлен
Новая проблема заключается в том, что serviceworker никогда не готов, если страница жестко перезагружена. Последующая перезагрузка мягкой страницы работает нормально. Собственный образец кода Google не работает. См. отчет об ошибке Chrome.
Исправление ошибки было включено в Chrome 44.