Tengo 2 aplicaciones que necesitan trabajar juntas. el padre tiene una lista de trabajos y el usuario puede abrirlos en la segunda aplicación (hijo) tantos trabajos como quiera. El código para abrir un niño es:
window.open(finalUrl, 'W' + event.data.ProjJob, "alwaysRaised=yes,titlebar=no,left=0,top=0,width=800,height=800"); if (!inboxPopUpJobs.some(j => j.job === event.data.ProjJob)) { setInboxPopUpJobs(PopUpJobs => [...PopUpJobs, event.data.ProjJob]); }Cuando la ventana secundaria necesita actualizar la principal y cerrar, envía un mensaje usando la biblioteca 'broadcast-channel'
El padre recibe el mensaje OK con el número de trabajo, por lo que la ventana se intercepta usando:
const w = window.open("", 'W' + job);entonces para cerrarlo uso:
await w.close(); pero ahora la ventana principal se bloquea, no se muestra nada en la consola como error y no hay forma de actualizar el navegador (EDGE y Chrome) Probé: w.opener.focus(); y window.focus(); pero sigue colgando.
¿Alguien tiene alguna sugerencia sobre cómo evitar que los padres se cuelguen? Gracias