Traté de encontrar una solución aquí, pero no pude.
El problema es el siguiente:
Funciona bien, excepto cuando se abre desde el "navegador" webView desde la aplicación de Facebook o chatea en un teléfono.
Hasta ahora puedo ver que la limitación de webView es que solo puede tener una pestaña activa. Entonces, cuando la página A no está activa, su código javascript no se ejecuta y la ventana emergente no se cerrará.
Puede probar esto con este violín desde el navegador webView.
let w = null; window.addEventListener("DOMContentLoaded", (event) => { document.querySelector("button").addEventListener("click", () => { w = window.open("https://www.google.com", "customPopup", popupFeatures); window.setTimeout(() => { if (w) { w.close() } alert('parent js is working'); }, 3000); }); }); const popupFeatures = "menubar=no,location=no,resizable=no,scrollbars=yes,status=no,width=700,height=700"; <button>.......CLICK here....</button>Algunas limitaciones que no puedo eludir:
¿Hay alguna manera de mantener el código javascript en la página A para seguir ejecutando o poder cerrar la ventana emergente?
El problema principal es que después de que se abre la ventana emergente y el usuario finaliza con la autenticación, el flujo se atasca allí porque no puedo cerrarlo desde la página A porque su subproceso de javascript no está activo.