JavaScript - AYUDA__Personalizar evento de cierre de ventana en JS

 
Vista:
sin imagen de perfil

AYUDA__Personalizar evento de cierre de ventana en JS

Publicado por Alfredo (2 intervenciones) el 24/11/2016 11:00:05
beforeunload1
beforeunload2


Un cordial saludo.

Me dirijo a ustedes para solicitar ayuda con un problema en un proyecto que estoy realizando para un cliente.
Estoy realizando un juego web con Django, y en determinadas secciones necesito programar la respuesta a realizar cuando uno de los jugadores cierra la ventana/pestaña del ordenador (si uno de los 2 jugadores cierra la pestaña, le dará la victoria al otro). Para ello, en el callback, se deberá realizar una petición AJAX al servidor que modifique los datos de la DDBB de la partida.

He investigado mucho en internet, y he visto que el evento que captura la acción de cerrar la ventana es el evento "beforeunload". Al usarlo, compruebo que se muestra el típico Confirm predefinido del navegador que pregunta si deseas cerrar la ventana.

Hasta ahí todo correcto. Pero necesito que si el usuario pulsa en confirmar el cierre de la ventana, antes de cerrar la misma, se ejecute una petición AJAX. Y eso es lo que no consigo programar de ninguna de las formas.

He probado introduciendo a introducir el $.post antes del return del evento "beforeunload", pero no funciona. He probado con diferentes formas,y hasta incluso he intentado a buscar algún plugin/framework que pudiese gestionar este evento... pero nada.

Si a alguno se le ocurre alguna forma en la que pueda solventar este problema, les estaría muy agradecido.

Atentamente, Alfredo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

AYUDA__Personalizar evento de cierre de ventana en JS

Publicado por Alfredo (2 intervenciones) el 24/11/2016 12:23:30
Según he podido investigar por internet, el problema puede estar en que los Navegadores modernos han "capado" la capacidad de programación del evento "beforeunload" para que sólo se muestre el confirm predefinido del navegador y no permita nada más. Ya no se puede programar código en su ejecución ni permite modificar el mensaje que se muestre en el mismo. Esto lo hacen para evitar el código malicioso (que se pueda abrir una nueva ventana al cerrar ésta, u otro tipo de scripts).
Sin embargo, recuerdo haber visto recientemente algunas páginas que (al menos) han conseguido modificar el texto del mensaje del confirm.

A alguno se le ocurre algo para poder modificar el texto y poder ejecutar un script de petición AJAX cuando se cierre la ventana/pestaña?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar