Foros del Web » Programando para Internet » Javascript »

modificar handler de evento para ventana

Estas en el tema de modificar handler de evento para ventana en el foro de Javascript en Foros del Web. Bueno, después de tan rebuscado título para el post, es mejor explicarlo lo mejor que pueda. El escenario es el siguiente : Desde una página ...
  #1 (permalink)  
Antiguo 19/11/2002, 11:50
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
modificar handler de evento para ventana

Bueno, después de tan rebuscado título para el post, es mejor explicarlo lo mejor que pueda.

El escenario es el siguiente : Desde una página (index.html), abro un popup, llamando a una página que está en otro server (mensajero.html) y fuera de mi alcance ( o sea, no puedo modificar la página que abro en el popup ).
Lo que necesito hacer, es que al cerrar el popup, se ejecute una función javascript que tengo en index.html.

Lo que estuve haciendo y no funcionó, es lo siguiente:
Código:
var ventana;

function prueba()
{
    alert("Wooohooo... esto funciona!");
}

function abrir_ventana()
{
    if(!ventana || ventana.closed )
    {
        ventana = window.open('blah blah blah', 'vent', 'blah blah blah');
    }
    return ventana;
}

ventana = abrir_ventana();
ventana.onunload = prueba;
No estoy para nada seguro que el cambio del handler del evento unUnLoad se haga de esa manera, si alguien ya hizo esto o tiene idea de como se hace, le agradecería su ayuda.

Saludos.
  #2 (permalink)  
Antiguo 19/11/2002, 13:40
Avatar de .
.
 
Fecha de Ingreso: mayo-2002
Ubicación: Tampico
Mensajes: 906
Antigüedad: 22 años
Puntos: 1
<script>
function hola(){
alert('Funcion');
}
function abrir(){
ventana = window.open('ventana.html','nombre');
//return ventana
test();
}
function test(){
if(ventana.closed==true){
hola();
}
else{
setTimeout("test()",1000);
}
}
</script>
<body onload="abrir()">

te explicaría el funcionamiento, pero es muy simple
  #3 (permalink)  
Antiguo 19/11/2002, 17:51
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola Webstudio.

Tal como planteas el problema, tengo la impresión de que no lo vas a poder hacer.

He hecho muchas pruebas y el handler solo sirve para cambiar propiedades de la ventana y ejecutar métodos como moveTo, etc. La forma como asignas la función es la correcta, el handler de la ventana es válido, puedes manipular la ventana con el, pero no logro redireccionar un evento.

Mi conclusión, en base a descarte y a lógica, es que los eventos, al ejecutarse dentro de la instancia de la ventana, no se les puede direccionar "desde afuera" a un handler que no está dentro de ellos. Es mi impresión.

De cualquier modo, tienes la opción propuesta por "." la cual me resulta incómoda pero a fin de cuentas va a funcionar.

Ojalá alguien me contradiga y podamos aprender como hacerlo.

Saludos.
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 09:44.