Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

219
Vistas
¿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 la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda