Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2011, 13:30
calcifer1990
 
Fecha de Ingreso: noviembre-2011
Mensajes: 20
Antigüedad: 13 años, 1 mes
Puntos: 0
Detectar cuando se cierra un poo-up

Hola,

Tengo un script en el cual el usuario bloquea los registros que usa almacenándolos en una tabla de bloqueos al cargar el script, y los desbloquea al cerrar la ventana. para esto utilizo una subrutina de ajax que funciona a la perfección en IE y Chrome, pero un firefox NO.

Por lo que he investigado se debe a que firefox no alcanza a ejecutar el ajax en el tiempo que dura cerrando la ventana.

Este es el codigo java script

Código Javascript:
Ver original
  1. window.onbeforeunload = confirmaSalida;
  2.  
  3. function confirmaSalida(){
  4.    //aqui se ejecuta función ajax  
  5. }

Una solución que encontré es:


Código Javascript:
Ver original
  1. window.onbeforeunload = confirmaSalida;
  2.  
  3. function confirmaSalida(){
  4.    //aqui se ejecuta función ajax  
  5.   alert('Se cerrara la ventana');  
  6. }

De esta manera el tiempo que dura el alert es suficiente para que se ejecute el ajax, el problema es que el evento onbeforeunload también se ejecuta en el momento de realizar el submit del formulario y me cierra la ventana.

Nota: en Chrome el alert no aparece, pero reitero que en Chrome y IE el ajax se ejecuta sin problemas.

¿existe alguna forma de retrasar el tiempo de cierre de la ventana sin utilizar alert?
¿o de controlar el onbeforeunload desde la venta padre?

De antemano muchas gracias