Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

231
Visualizações
¿Cómo resolver el error de navegación del trabajador del servicio "Este trabajador del servicio no es el trabajador del servicio activo del cliente"?

Creé un trabajador de servicio para mi quasar pwa para administrar las notificaciones de fondo web de fcm. El propósito es administrar las notificaciones de clic en primer plano y en segundo plano y redirigir al usuario a una página específica de mi pwa.

Entonces, cuando recibo una notificación, tengo dos escenarios:

notificaciones en primer plano :

  • 1a) el navegador está enfocado/maximizado + el usuario ya está en la pestaña pwa + el pwa está en la página correcta -> nada que hacer
  • 1b) el navegador está enfocado/maximizado + el usuario ya está en la pestaña pwa + el pwa está en otra página -> Tengo que redirigir a la página específica de pwa

notificaciones de fondo :

  • 2a) el navegador no está enfocado o minimizado o el usuario no está en la pestaña pwa + el pwa está en la página correcta -> Tengo que enfocar/maximizar el navegador o enfocar la pestaña pwa y luego nada más que hacer
  • 2b) el navegador no está enfocado o minimizado o el usuario no está en la pestaña pwa + el pwa está en otra página -> Tengo que enfocar/maximizar el navegador o enfocar la pestaña pwa y luego redirigir a la página pwa específica

Todo funciona bien en 1a, 1b y 2a. Para 2b, aparece este extraño error " Este trabajador de servicio no es el trabajador de servicio activo del cliente ".

Tengo el siguiente código en Service Worker para administrar la redirección en el clic de notificación en segundo plano. Y me sale el error en el método de navegar() .

 self.addEventListener('notificationclick', function(event) { console.log('notificationclick', event); event.notification.close(); let route = event.notification.data.route ? JSON.parse(event.notification.data.route) : null; if(route && route.params && route.params.token) { const domain = route.domain; const path = '/#/' + route.name + '/' + route.params.token; const fullUrl = domain + path event.waitUntil(clients.claim().then(() => { return clients.matchAll({ type: 'window', includeUncontrolled: true }) .then(clients => clients.filter(client => client.url.indexOf(domain) !== -1)) .then(matchingClients => { if (matchingClients[0]) { return matchingClients[0].focus().then(function (client) { client.navigate(path) .then(client => { }).catch(function (e) { console.log(e); --> here I get the error }); }).catch(function (e) { console.log(e); }); } return clients.openWindow(fullUrl); }) }) ); } });

Busqué este error en la web pero no encontré ninguna referencia, por lo que no entiendo el error y no puedo resolverlo. ¿Alguien puede ayudar por favor? Gracias

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda