Foros del Web » Programando para Internet » Javascript »

Preguntar antes de cerrar una ventana

Estas en el tema de Preguntar antes de cerrar una ventana en el foro de Javascript en Foros del Web. Ya se que este tema esta muy mascado, y que hay mucha informacion si miro un poco en google, pero lo que necesito no lo ...
  #1 (permalink)  
Antiguo 09/06/2012, 07:24
 
Fecha de Ingreso: octubre-2008
Mensajes: 91
Antigüedad: 15 años, 6 meses
Puntos: 0
Preguntar antes de cerrar una ventana

Ya se que este tema esta muy mascado, y que hay mucha informacion si miro un poco en google, pero lo que necesito no lo encuentro, y es lo siguiente:

Yo tengo una pagina que tiene una serie de DIVs, yo quiero que al cerrar la web, si dentro de un div contenedor hay otros divs que me salga el tipico mensaje de "AVISO: vas a cerrar la ventana" y en el que salen los tipicos botones de "permanecer" o "abandonar", todo eso lo he conseguido, pero me gustaria saber si se puede hacer alguna accion al pulsar sobre alguno de los botones, es decir, que si le da a "abandonar" llame a un ajax para hacer algo.

Este es mi codigo

Código:
window.onbeforeunload = confirmaSalida;  

	function confirmaSalida()  {
		
		if($("#thumbnails > div").length>0){
				$.ajax({
						url:   'cancelar_imagenes.php',
						type:  'post'
				});
			
			var textillo = "Los datos que no se han guardado se perderan.";
			return textillo;
		}
	}
Con esto consigo que me muestre el mensaje en el caso que existan otras capas en la capa #thumbnails, pero le de a "abandonar" o a "permanecer" me entra en el ajax, y yo solo quiero que lo haga en caso de pulsar en "abandonar"

Un saludo
  #2 (permalink)  
Antiguo 10/06/2012, 00:03
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 12 años, 10 meses
Puntos: 32
Respuesta: Preguntar antes de cerrar una ventana

Me parece que si funcionaria, pruebalo asi
Código Javascript:
Ver original
  1. window.onbeforeunload = confirmaSalida;  
  2. window.onunload = salida;  
  3.  
  4.     function confirmaSalida(event)  {
  5.  
  6.         if($("#thumbnails > div").length>0){
  7.                 $.ajax({
  8.                         url:   'cancelar_imagenes.php',
  9.                         type:  'post'
  10.                 });
  11.         }
  12.             var textillo = "Los datos que no se han guardado se perderan.";
  13.             alert(textillo);
  14.             try { event.preventDefault(); } catch(err){ window.event.returnValue = false; }
  15.     }
  16.  
  17.     function salida()  {
  18.  
  19.         if($("#thumbnails > div").length>0){
  20.                 $.ajax({
  21.                         url:   'cancelar_imagenes.php',
  22.                         type:  'post'
  23.                 });
  24.         }
  25.     }

Etiquetas: ajax, cerrar, php, ventanas
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 04:39.