
16/12/2009, 06:51
|
 | | | Fecha de Ingreso: octubre-2008 Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 4 meses Puntos: 66 | |
Respuesta: ¿Cerrar una ventana que no se ha creado en la ventana principal actual? Hola Xantharkam,
a ver si te he entendido. Tu tienes una página padre, en ella un botón (por ejemplo) que abre una ventana en popup. Quieres que, al navegar a otra página desde la página padre se cierre el popup, es eso?
en ese caso intenta esto:
en la página padre creas una variable global. En el popup creas un bucle que esté comprobando constantemente esa variable, y en el momento que cambia cierras el popup. por ejemplo así-->
setInterval(comprobar,1);
function comprobar()
{
debugger;
var test = top.opener.variableVentanaPadre;
if(test != 1)
{this.close();clearInterval();}
}
como ves setInterval llama a la variable cada 1 milisegundo, mientras su valor sea uno el popup sigue 'vivo' cuando no sea 1 se cerrará. Cuando navegas hacia otra página no localiza la variable global y se cierra.
Intenta llamar a tu variable de la página padre de forma rara, no vaya a ser que a la página que navegues también la tenga y entonces se mantendría el popup.
quizá es una solución 'cutre' pero funciona, a ver que opinan los expertazos del foro, jejejeje...
salu2 |