Foros del Web » Programando para Internet » Javascript »

Cerrar popup

Estas en el tema de Cerrar popup en el foro de Javascript en Foros del Web. Como cerrar popup cuando se esta cargando la ventana principal? Es por si cierran la ventana principal quedandose el popup, y despues volviendo a abrir ...
  #1 (permalink)  
Antiguo 11/01/2004, 14:11
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Cerrar popup

Como cerrar popup cuando se esta cargando la ventana principal?

Es por si cierran la ventana principal quedandose el popup, y despues volviendo a abrir la ventana principal me tiene que matar el popup si existe.

Gracias.
  #2 (permalink)  
Antiguo 11/01/2004, 14:37
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
re

Para cerrar la ventana, despues de hacer la comprobacion: tuVentana.close()
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 11/01/2004, 14:46
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
I cómo se comprueba que existe?

Asi creo el popup:

<a href='upload2.php?p=' target='new' Onclick="window.open('upload2.php?p=','new','toolb ar=no,width=300,height=300,status=no,scrollbars=no ,resize=no,menubars=no'); return false;">click</a>

I en la pagina padre pongo:

<Body onload='new.close();' >

Pero me dice que "new" no esta declarado. No ser cómo hacerlo.
  #4 (permalink)  
Antiguo 11/01/2004, 15:49
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
re

Ponle un nombre. Cuando pongas onclick:

onclick="miVent=window.open...."

Creo que hay una propiedad de window.open que es opened, devuelve true si esta abierta. Asi luego compruebas if miVent.opened y la cierras si esta abierta. Si no esta declarada te recomiendo un try catch para que no te de error.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 11/01/2004, 16:28
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Le he puesto: Onclick='ventana=window.open(.....)'

I el error que me pone es que 'ventana' no esta definido, como error de javascript.
  #6 (permalink)  
Antiguo 11/01/2004, 16:44
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Tambien he cambiado:
<Body onload='ventana.close();' >
  #7 (permalink)  
Antiguo 11/01/2004, 17:18
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
re

Con un try catch lo solucionas. Pero me he dado cuenta que opened no existe en js, es closed lo que existe, !vent.closed y ya esta. Mirate el ejemplo este:

Código PHP:
<script>
var 
ventana;
function 
abreVent() {
    
ventana=window.open();
}

function 
cierraVent() {
    try {
        if(!
ventana.closedventana.close();
    } catch(
e) {
        
alert("No hay ventana que cerrar, no existe ventana");
    }
}


</script>
<input type="button" value="abre" onclick="abreVent()"><br>
<input type="button" value="cierra" onclick="cierraVent()"> 
Espero que te ayude.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #8 (permalink)  
Antiguo 14/01/2004, 03:42
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Tienes un popup abierto, si actualizas la pagina padre, te pone que no hay ventana para cerrar, y el popup existe.

Prueba tu codigo modificado para que lo veas.

<body onload='cierraVent();'>
<script>
var ventana;
function abreVent() {
ventana=window.open();
}

function cierraVent() {
try {
if(!ventana.closed) ventana.close();
} catch(e) {
alert("No hay ventana que cerrar, no existe ventana");
}
}


</script>
<input type="button" value="abre" onclick="abreVent()"><br>
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 11:38.