Foros del Web » Programando para Internet » Javascript »

window.onbeforeunload (pero con excepciones)

Estas en el tema de window.onbeforeunload (pero con excepciones) en el foro de Javascript en Foros del Web. Hola les quiero mostrar esto @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original < script language = 'javascript' > window. onbeforeunload = function ( ) { ...
  #1 (permalink)  
Antiguo 03/09/2010, 00:32
 
Fecha de Ingreso: marzo-2010
Mensajes: 58
Antigüedad: 14 años, 1 mes
Puntos: 1
window.onbeforeunload (pero con excepciones)

Hola les quiero mostrar esto
Código Javascript:
Ver original
  1. <script language='javascript'>
  2. window.onbeforeunload = function () {return "Hola te vas";}
  3. </script>

Este codigo es para crear la alerta de si quieres navegar fuera de la pagina

Código Javascript:
Ver original
  1. <script language='javascript'>
  2. var pagina="http://cualquier-pagina.com"
  3. function redireccionar()
  4. {
  5. location.href=pagina
  6. }
  7. setTimeout ("redireccionar()", 1);
  8. </script>

y este para redireccionar a alguna pagina... bueno estos dos script-s estan en la misma pagina y sucede que cuando hago clic en la (X) para cerrar sale la alerta de si quiero salir de la pagina.. hasta hay todo bien

pero con el segundo script de redireccionar también se activa el primero de si quiero navegar fuera de la pagina

lo que quiero lograr es que window.onbeforeunload evite funcionar desde la redirección del segundo script .... pero que siga funcionando al momento de cerrar la pagina

algo así como que window.onbeforeunload quede en "false" al momento de la redirección
  #2 (permalink)  
Antiguo 03/09/2010, 00:52
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: window.onbeforeunload (pero con excepciones)

primero debes tener claro algo. onbeforeunload no responde a especificamente cuando se cierra el navegador. tal como dice el nombre del evento "on before unload" que traducido es "antes de desechar". o sea, el evento responde cuando el navegador desecha un documento, ya sea al cerrar el navegador o al redireccionar a otra url.

ahora bien, para tu caso, lo que se me ocurre es que antes de direccionar a la nueva url vacies el evento onbeforeunload asignando al evento null.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 03/09/2010, 02:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 58
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: window.onbeforeunload (pero con excepciones)

algún ejemplo x favor.. me ayudarían muchísimo
  #4 (permalink)  
Antiguo 03/09/2010, 02:55
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: window.onbeforeunload (pero con excepciones)

la verdad no tiene secreto ni truco. de la forma que asignastes una funcion literal al evento, de esa misma forma le asignas null. es tan simple como usar el operador asignacion (=) seguido de null. esa instruccion la ubicas como primera linea dentro de tu funcion redireccionar.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 03/09/2010, 03:14
 
Fecha de Ingreso: marzo-2010
Mensajes: 58
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: window.onbeforeunload (pero con excepciones)

mmmm la pongo y ahora no me redirecciona :?
  #6 (permalink)  
Antiguo 03/09/2010, 03:20
 
Fecha de Ingreso: marzo-2010
Mensajes: 58
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: window.onbeforeunload (pero con excepciones)

listossss ya quedo muchas gracias zerokilled

hay pongo el codigo final

Código Javascript:
Ver original
  1. <script language='javascript'>
  2. window.onbeforeunload = function alerta() {return (pagina=null) "Hola te vas";}
  3. </script>
  4.  
  5. <script language='javascript'>
  6. var pagina="http://cualquier-pagina.com"
  7. function redireccionar()
  8. {
  9. location.href=pagina
  10. }
  11. setTimeout ("redireccionar()", 0);
  12. </script>
  #7 (permalink)  
Antiguo 03/09/2010, 03:53
 
Fecha de Ingreso: marzo-2010
Mensajes: 58
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: window.onbeforeunload (pero con excepciones)

Cita:
Iniciado por tellezcoo Ver Mensaje
listossss ya quedo muchas gracias zerokilled

hay pongo el codigo final

Código Javascript:
Ver original
  1. <script language='javascript'>
  2. window.onbeforeunload = function alerta() {return (pagina=null) "Hola te vas";}
  3. </script>
  4.  
  5. <script language='javascript'>
  6. var pagina="http://cualquier-pagina.com"
  7. function redireccionar()
  8. {
  9. location.href=pagina
  10. }
  11. setTimeout ("redireccionar()", 0);
  12. </script>
me parece que lo que hice fue cometer un error
  #8 (permalink)  
Antiguo 03/09/2010, 13:56
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: window.onbeforeunload (pero con excepciones)

esto era lo que tenias que hacer.
Código:
function redireccionar()
{
window.onbeforeunload = null;
location.href=pagina
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: evitar, window.onbeforeunload, redireccionar, alerta
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 20:46.