navigator.serviceWorker.controller é sempre nulo
Tenho o problema de que, após registrar o serviceWorker, o navigator.serviceWorker.controller é sempre nulo. Eu nunca faço uma atualização forçada e apenas atualizo a página. Eu o testo com o Google Chrome 42.0.2311.152 m (32 bits).
var currentServiceWorker = null;
navigator.serviceWorker.register(SERVICE_WORKER_URL).then(function(serviceWorkerRegistration {
if (navigator.serviceWorker.controller) {
currentServiceWorker = navigator.serviceWorker.controller;
} else {
currentServiceWorker = serviceWorkerRegistration.active;
}
});
De acordo com isso:
A propriedade somente leitura do controlador da interface ServiceWorkerContainer retorna um objeto ServiceWorker se seu estado estiver ativado (o mesmo objeto retornado por ServiceWorkerRegistration.active). Esta propriedade retornará nulo se a solicitação for uma atualização forçada (Shift + atualização) ou se não houver um trabalhador ativo. ( Fonte:https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/controller)
navigator.serviceWorker.controller
deve retornar o mesmo objeto queserviceWorkerRegistration.active
. Mas com.active
Eu recebo o trabalhador ativo, com.controller
não.
Você tem alguma idéia para essa situação?
Obrigado Andi