Foros del Web » Programando para Internet » Javascript »

Cerrar popup desde ventana padre

Estas en el tema de Cerrar popup desde ventana padre en el foro de Javascript en Foros del Web. Hola: mi pregunta es la siguiente (ya he probado lo que he encontrado, pero no funciona...): Tengo una página que abre un popup, y necesito ...
  #1 (permalink)  
Antiguo 04/01/2006, 13:43
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Cerrar popup desde ventana padre

Hola: mi pregunta es la siguiente (ya he probado lo que he encontrado, pero no funciona...):

Tengo una página que abre un popup, y necesito DESDE ESA MISMA PÁGINA que abre el popup, que lo cierre pasados x segundos.

Si fuera desde el propio popup, sabría cómo hacerlo, pero no me permiten hacerlo así, tiene que ser desde la página padre.

para abrir uso:

window.open('http://www...','Mipop','menubar=0,width=400,height=400,to olbar=0,location=0,status=0,scrollbars=1,resizable =1');

¿alguna idea?

gracias
  #2 (permalink)  
Antiguo 04/01/2006, 13:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

2 posibilidades:

Tal como lo tienes...
window.open('http://www...','Mipop','menubar=0,width=400,height=400,to olbar=0,location=0,status=0,scrollbars=1,resizable =1');

window.frames["Mipop"].close();

ó abrirlo con una asignación:

ventana = window.open('http://www...','Mipop','menubar=0,width=400,height=400,to olbar=0,location=0,status=0,scrollbars=1,resizable =1');

y cerrarlo con:

ventana.close();

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 05/01/2006, 03:39
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Hola Caricatos, lo primero, gracias por responder...

De las dos opciones que me das, sólo puedo utilizar la primera, ya que no puedo tocar la orden window.open, y he puesto como indicas, lo siguiente:
Código:
<body>
...
<script>
window.open('http://www...','Mipop','menubar=0,width=400,height=400,to olbar=0,location=0,status=0,scrollbars=1,resizable =1');
</script>
...
<script>
window.frames["Mipop"].close();
</script>
...
</body>
y nada... sale el siguiente error:

'window.frames.Mipop' es nulo o no es un objeto

Ocurre lo mismo poniendo sólo window.Mipop.close(); (que es lo primero que probé).

¿alguna idea?

Última edición por ludovico2000; 05/01/2006 a las 03:52
  #4 (permalink)  
Antiguo 05/01/2006, 03:45
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
'nas,

y has probado con Mipop.close(); ??
  #5 (permalink)  
Antiguo 05/01/2006, 03:54
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
sí, de ese modo me dice "Mipop no está definido", en fin, no es urgente pero no me creo que sea tan difícil, no sé, no entiendo cómo algo aparentemente tan sencillo me está dando tantos quebraderos de cabeza... si no, ya buscaré otra alternativa, pero ya es algo personal....
  #6 (permalink)  
Antiguo 06/01/2006, 12:05
 
Fecha de Ingreso: enero-2006
Mensajes: 54
Antigüedad: 18 años, 3 meses
Puntos: 0
Hola ludovico2000, prueba lo siguiente y luego me cuentas.

En mi ejemplo hay dos ventas (PHP pero puedes cambiarlas a htm) la primera se llama ventana_padre.php y tiene el siguiente codigo:

<html>
<head>
<title>Ventana Principal</title>
<script language="javascript">
var ventana_secundaria

function abrirVentana(){

ventana_secundaria = window.open("ventana_hija.php","miventana","width= 300,height=200,menubar=no")
}

function cerrarVentana(){

ventana_secundaria.close()
}
</script>
</head>

<body onLoad="javascript:abrirVentana()">
Esta es la ventana principal
<form>
<input type=button value="Abrir ventana secundaria" onclick="abrirVentana()">
<br>
<br>
<input type=button value="Cerrar ventana secundaria" onclick="cerrarVentana()">
</form>
<script>setTimeout('javascript:cerrarVentana()',50 00); </script>
</body>
</html>

y la segunda se llama ventana_hija.php y el codigo es el siguiente:

<html>
<head>
<title>Ventana Secundaria</title>
<script>
function cerrarse(){
window.close()
}
</script>
</head>

<body>

Esta es la ventana del popup

<form>
<input type=button value="Cerrar" onclick="cerrarse()">
</form>

</body>
</html>

El 5000 de la funcion setTimeout indica el tiempo en milisegundos antes de que se ejecute la funcion cerrarVentana.

Espero te sirva. Bye.
  #7 (permalink)  
Antiguo 09/01/2006, 05:44
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Gracias, pero esa solución ya la dió caricatos en su primera respuesta, pero no vale, ya que implica que se declara "ventana_secundaria", cosa que no puedo hacer, ya que el script que abre la ventana no se puede tocar.

Ya lo he resuelto de otro modo, cambiando la forma en que se muestra la información (sería muy largo de explicar), pero no he logrado solucionar este problema concreto, y me cuesta creer que no tenga solución.
  #8 (permalink)  
Antiguo 09/01/2006, 09:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Tal vez no te sirva, pero aunque digas que hay un script que no se puede tocar, todos (al menos eso creo) los scripts pueden "redefinirse" o "sobre-escribirse"...

por ejemplo:

Código:
function pepe() {
  alert("soy Pepe");
}

function pepe() {
  alert("no soy Pepe");
}
El segundo "machaca al primero..."

Solo es una idea...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 09/01/2006, 11:52
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
mira, eso no lo sabía, pero supongo que funciona porque se define la función pepe(), en mi caso, el script aparece DENTRO del body, y SIN FUNCION alguna, así:

<body>
<srcipt>
window.open(........);
</script>
bla bla bla
</body>
  #10 (permalink)  
Antiguo 10/01/2006, 00:03
Avatar de ramon92  
Fecha de Ingreso: enero-2004
Ubicación: Lima
Mensajes: 135
Antigüedad: 20 años, 3 meses
Puntos: 8
Cerrar Popup q contiene flash y continuar con carga de movie principal

Hola amigos, tengo un problemita casi por ahi, tengo un index.html q tiene una pelicula flash principal que me da 2 opciones: con intro o sin intro, cuando le dan con intro se abre un popup en el centro de la pantalla que me muestra un intro flash.

La idea es que cuando acabe el intro se cierre el popup y me siga ejecutando la pelicula flash principal q la tengo detenida hasta q acabe el intro.

En el final del intro q codigo pondre para cerrar el popup y que me siga ejecutando la movie principal, gracias de antemano.
__________________
Hosting Peru.ME | Hosting para Empresas
Agencia de Publicidad Online (Enjoy the difference)
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 07:41.