He estado investigando el tema durante varios días y todavía tengo que encontrar una solución js pura que funcione. Después de borrar el caché del navegador (caché busting), ¿hay alguna forma en JS/React de volver a cargar la página con la nueva versión?
Por el momento, después de borrar el caché, los usuarios deben cerrar el navegador y visitar el sitio nuevamente antes de poder ver la nueva versión... ya que el caché solo se borra después de que ya está cargado. La actualización manual de la página tampoco funciona; el navegador debe estar cerrado.
He visto varias sugerencias para usar window.location.reload(true) , pero parece que ya no funciona en los navegadores modernos.
Preferiría poder hacerlo puramente del lado del cliente, si es posible.
Gracias por adelantado.
Cuando registra al trabajador del servicio en el archivo index.js .
serviceWorkerRegistration.register();El trabajador de servicio comienza a trabajar. Pero basado en un problema, no puede activarse. :)
ingrese la descripción de la imagen aquí
Para resolver este problema, puede sobrescribir el archivo service-worker.js.
En lugar de este código
self.addEventListener('message', (event) => { if (event.data && event.data.type === 'SKIP_WAITING') { self.skipWaiting(); }});
Puedes seguir este método
self.addEventListener('install', event => event.waitUntil(self.skipWaiting())); self.addEventListener('activate', event => event.waitUntil(self.clients.claim()));