navigator.serviceWorker.controller всегда равен нулю
У меня проблема в том, что после регистрации serviceWorker navigator.serviceWorker.controller всегда имеет значение null. Я никогда не делаю принудительного обновления и просто обновляю страницу. Я тестирую его с помощью Google Chrome 42.0.2311.152 м (32-разрядная версия).
var currentServiceWorker = null;
navigator.serviceWorker.register(SERVICE_WORKER_URL).then(function(serviceWorkerRegistration {
if (navigator.serviceWorker.controller) {
currentServiceWorker = navigator.serviceWorker.controller;
} else {
currentServiceWorker = serviceWorkerRegistration.active;
}
});
Согласно этому:
Свойство контроллера, доступное только для чтения, интерфейса ServiceWorkerContainer возвращает объект ServiceWorker, если его состояние активировано (тот же объект, возвращенный ServiceWorkerRegistration.active). Это свойство возвращает ноль, если запрос является принудительным обновлением (Shift + refresh) или если активного работника нет. ( Источник:https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/controller)
navigator.serviceWorker.controller
должен вернуть тот же объект, что иserviceWorkerRegistration.active
, Но с.active
Я получаю активный работник, с.controller
не.
У вас есть идеи для этой ситуации?
Спасибо анди