Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2008, 09:08
vicveo
 
Fecha de Ingreso: julio-2008
Mensajes: 6
Antigüedad: 15 años, 10 meses
Puntos: 0
ayuda!!! OnBeforeUnload

Saludos, soy nuevo en el foro :)

Pues les comento que llevo varios dias rompiendome la cabeza tratando de entender el porque de mi problema y nomas no doy con la respuesta..

bueno el problema es el siguiente...

tengo un sistema en php, y en cada una de las paginas tengo lo siguiente:

<body onBeforeUnload="window.location='desactivar_usuari o.php'">

al correr el sistema notaba que en determinado momento no hacia lo que esta en desactivar_usuario.php por lo que al checar y checar cosas me di cuenta que de repente y sin explicacion alguna no se activa este evento.

Lo extrano es que solo lo evita de repente, es decir por ejemplo, si tengo una pagina y me paso a otra y de esa regreso nuevamente a la primera pues si activa el evento, el problema esque al hacer varias veces lo mismo, llega un momento en que no lo hace.

Ojala me puedan ayudar a dislumbrar por donde podria estar el problema, pues como les comento lo que me extrana esque funciona pero a veces no.

Estuve viendo los problemas de compatibilidad del OnBeforeUnload con las versiones y tipo de explorador pero como les comento lo extrano esque con estos problemas o sirve o no sirve.

El problema no esta en la accion que mando llamar en el evento, el problema viene que en algunas ocaciones, algunas veces muy esporadicas otras luego luego entrando al sistema, etc, se salta la accion del evento es decir no es que no ejecute lo que tiene desactivar_usuari o.php ya sea pasandole el parametro directo o por medio de la funcion en js, el problema esque algunas veces no se ejecuta el OnBeforeUnload cuando deberia de hacerlo...

como ejemplo les decia que tengo dos paginas accedo de una a la otra mediante <a href="nombre_pagina.php"> y pues comienzo a pasar de una a laotra mediante el link y cada ves que paso pues ejecuta el evento OnBeforeUnload, el punto esque en algun momento (aleatorio, no encuentro ningun patron ni nada) al pasar de una pagina a la otra se salta el evento), esto lo comprobe porque en el archivo desactivar_usuario.php coloque lo siguiente:

if ($_SESSION["prueba"] == "activo"){
$_SESSION["prueba"] = "inactivo";
} else{
$_SESSION["prueba"] = "activo";
}

y la variable $_SESSION["prueba"] la visalizo en ambas paginas por lo que puedo estar viendo si al pasar de una pagina a otra efectivamente se desencadena el evento OnBeforeUnload...
y pues mi rompedera de cabeza es eso.. el porque en algun momento no se ejecuta el evento....

bueno como que no se me da eso de explicar en pocas palabras jajaj pero ojala me de a enteder y alguien me pueda ayudar....

por otro lado como comentabas eits que solo funciona en IE pues creeme que en este punto loque me urge es que jale...en donde sea pero que jale bien jajaja....

bueno de nuevo gracias por sus comentarios... y en espera de que alguien m pueda orientar que puede ser...



Saludos.. y gracias de antemano...