Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/12/2009, 06:51
Avatar de ceSharp
ceSharp
 
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