Foros del Web » Programando para Internet » Javascript »

Ayuda sobre evento onBeforeUnload

Estas en el tema de Ayuda sobre evento onBeforeUnload en el foro de Javascript en Foros del Web. Buenas, estoy haciendo una aplicación para una web, y tengo una ventana padre, que se encarga de abrir una ventana con el nombre ventanaAgenda , ...
  #1 (permalink)  
Antiguo 13/06/2005, 04:19
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 3 meses
Puntos: 0
Ayuda sobre evento onBeforeUnload

Buenas, estoy haciendo una aplicación para una web, y tengo una ventana padre, que se encarga de abrir una ventana con el nombre ventanaAgenda, y la padre se queda de fondo, como es normal.

El problema es que quiero que si por accidenete cierra la ventana padre, que salga un mensaje indicando que si realmente quiere cerrar, y si es así que se cierra la aplicacion, y sino, que no se cierra la ventana padre., lo que he hecho es en la etiqueta body definir el evento onBeforeUnload:

Código:
<body onLoad="foco();" onBeforeUnload="fCierra()">
Lo cual va bien, y la funcion queda tal que asi:

Código:
// Cierre de la aplicacion en cascada
function fCierra()
{
	// Comprobamos primero que esté abierta la ventana de Agenda
	if(window.ventanaAgenda)
	{
		var salir = confirm("Si cierra esta ventana, la aplicación de la Agenda Comercial se cerrará.\n\n\t\t ¿Desea Continuar?")
		if ( salir ) ventanaAgenda.document.location.href="/cgi-bin/ibi_cgi/ibiweb.exe?IBIF_ex=cerrar&sesion="+Math.random();
		
		else window.onBeforeUnload = null;
	}
}
Entonces, window.ventanaAgenda da true si esta abierta, y entonces lo evaluamos, y con un confirm() recogemos el valor pulsado por el usuario, si es Aceptar, entra en ese IF, y cierra la sesión y la ventana hija, junto a la padre posteriormente.

Pero si pulsa cancelar, segun he leido, para cancelar el evento deberia ser window.onBeforeUnload = null; para que de ese modo no se cierra, pero de todos modos tambien se cierra :(

Alguien me puede echar una mano, y decirme cual podria ser el fallo u otras posibles soluciones?

De antemano, muchas gracias
  #2 (permalink)  
Antiguo 14/06/2005, 02:56
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 3 meses
Puntos: 0
Ninguna idea? :(
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:58.