¿Qué es exactamente lo que intenta obtener?
Si desea saber cuándo está cerrada la pestaña en la que está cargada su página web, entonces window.onunload debería ayudarlo.
Si desea saber cuándo está cerrada otra página web, no puede hacerlo.
ACTUALIZACIÓN:
Usted ha dicho que quiere saber cuando el usuario cierra el navegador o pestaña. Esto no es posible.
Pero para su propósito (obtener comentarios), creo que todo lo que necesita es diferenciar si el usuario está navegando a un enlace en su página, o si el usuario está escribiendo otra URL (o haciendo clic en un favorito).
Creo que su necesidad, ya sea que el usuario cierre el navegador o escriba otra URL, es la misma: el usuario está navegando fuera de su sitio y en ese momento dice que desea recopilar comentarios.
Esto se puede hacer en javascript.
Para todos los clics en su página que podría conducir a una actualización de la página (hipervínculos, botones, ...), establecer un indicador.
En window.onunload
, verifique si está marcada esta bandera.
- Si está configurado, entonces el usuario ha hecho clic en un enlace en su página , no haga nada.
- Si la bandera no está configurada en , entonces el usuario está navegando, tiempo para recopilar comentarios.
Dejarme saber si esto funcionaría.
PD: Tenga en cuenta que las ventanas emergentes/cualquier distracción durante la descarga de la ventana pueden ser muy molestas. Entiendo que probablemente estos sean los requisitos que se le brindan. Pero si es posible, intente con otros mecanismos para recopilar comentarios (voluntarios) del usuario.
Se puede decir exactamente lo que estás tratando de acheive? – Nivas
necesito atrapar el evento de cierre de pestaña o de navegador, para preguntar al cliente antes de cerrar. –
Ver mi respuesta a continuación. – Nivas