¿Hay alguna forma de diferenciar si una ventana emergente se cierra con window.close() o se cierra con un clic del mouse? Quiero diferenciar si el usuario cerró manualmente la ventana emergente o no.
registre el detector de eventos de cierre si el usuario hace clic en un botón de cierre, entonces obtiene datos y sabe que el usuario hace clic manualmente, de lo contrario no.
Debe vincular el evento onbeforeunload a la ventana DESPUÉS de que se abra.
La forma más sencilla de hacerlo sería tener el javascript activado antes de descargar el código dentro del código fuente de la ventana.
var pop_up_window = window.open('some url') pop_up_window.onbeforeunload = function(){ /* your code */ }Consulte lo siguiente para obtener más detalles.
https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event