Foros del Web » Programando para Internet » Javascript »

Pq tardan tanto en abrirse los popups?

Estas en el tema de Pq tardan tanto en abrirse los popups? en el foro de Javascript en Foros del Web. Porque los popups tardan unos 5 segundos en abrirse? El código que uso es este: onclick="nuevaventana=window.open('','nuevaventana ','');"> Me podeis indicar algun manual/tutorial de popups? Gracias...
  #1 (permalink)  
Antiguo 15/01/2004, 13:33
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Información Pq tardan tanto en abrirse los popups?

Porque los popups tardan unos 5 segundos en abrirse?

El código que uso es este:
onclick="nuevaventana=window.open('','nuevaventana ','');">

Me podeis indicar algun manual/tutorial de popups?

Gracias
  #2 (permalink)  
Antiguo 15/01/2004, 13:56
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
Tarda en abrirse la ventana popup o su contenido?

pon el resto del código de esa línea.

qué va en un link? en un botón?
  #3 (permalink)  
Antiguo 15/01/2004, 14:21
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Tarda en abrirse el popup, el contenido no pq no hay.

<a href='#' onclick="nuevaventana=window.open('','_new','');"> abrir popup </a>
  #4 (permalink)  
Antiguo 15/01/2004, 14:38
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
OK, es porque te queda activo el a href y se detiene a ejecutarlo primero.

pídeselo así y me cuentas

<a href='#' onclick="nuevaventana=window.open('','_new','');return false"> abrir popup </a>

  #5 (permalink)  
Antiguo 15/01/2004, 14:50
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Vale, asi que ejecuta las dos cosas, primero lo del evento onclick y despues lo que hay en el href.

Si lo pones return false; no ejecuta href, verdad?
  #6 (permalink)  
Antiguo 15/01/2004, 14:55
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
Cita:
Si lo pones return false; no ejecuta href, verdad?
exacto lo anula.
  #7 (permalink)  
Antiguo 15/01/2004, 14:57
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Me tarda lo mismo.. poniendo return false o no...

Normalmente que tiempo passa hasta que no se abre un popup?
No lo veo muy normal que me tarde 5 segundos en habrirse, ya que tendria que ser inmediato.
  #8 (permalink)  
Antiguo 15/01/2004, 15:03
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
Acabo de probar el código tal y como lo pusiste

<a href='#' onclick="nuevaventana=window.open('','_new','');"> abrir popup </a>


y la verdad es que me lo ha abierto de inmediato.

Tal vez sea una cuestión propia, o bien que tienes la compu mareada (la mía se marea cada pocas horas y he de rebotarla ) o bien hay algo que provoca esa demora.

Es como en mi compu, usando dreamweaver, desde que le pido "nuevo" hasta que me lo abre puedo irme a dar una vuelta por ahí en lo que espero y no tengo idea de por qué se comporta así.

Has probado con otro navegador o desde otra computadora?
  #9 (permalink)  
Antiguo 15/01/2004, 15:09
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Muchas gracias. Supongo que tendre que resetear la maquina.
I se solucionara automaticamente.

Una preguntita de popups:
Porque no puedo cerrar un popup, mediante el evento onload de la ventana madre, conociendo el nombre del popup?
  #10 (permalink)  
Antiguo 15/01/2004, 15:28
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
¿no puedes? acabo de hacer la prueba y sí se puede ...

ponme el código que usas para abrirla y para cerrarla
  #11 (permalink)  
Antiguo 15/01/2004, 15:43
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Enviame el código, lo probaré yo.

Aqui tienes el mio:
<html>
<head>
<script>
var nuevaventana
function CerrarPopup() {
if (nuevaventana){
nuevaventana.close();
}
}
</script>
</head>

<body onload='CerrarPopup();'>

Una vez hayas abierto el popup. Actualiza la pagina principal y
el resultado que se espera es cerrar el popup automaticamente.
Tener en cuenta que no siempre el popup estará abierto.

<a href='#' onclick="nuevaventana=window.open('','_new',''); return false;"> abrir popup </a>

</body>
</html>
  #12 (permalink)  
Antiguo 15/01/2004, 15:51
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
De hecho le estás asignando dos nombres a la ventana.

primero la guardas en una variable de nombre nuevaventana pero luego le das por nombre _new

cambia ese _new por nuevaventana

<a href='#' onclick="nuevaventana=window.open('','nuevaventana',''); return false;"> abrir popup </a>

El código que usé es el siguiente

<script>
ventana = window.open('','ventana','')
</script>
</head>

<body onload="ventana.close()">

  #13 (permalink)  
Antiguo 15/01/2004, 16:26
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Tu scrip funciona a medias, pero SIEMPRE te crea un popup con nombre ventana y despues lo cierra.

No tendria que crear un popup al principio y cerrarlo, sólo cerrarlo si este existe.
  #14 (permalink)  
Antiguo 15/01/2004, 16:29
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
revisando tu código veo que la idea es que al cargarse la página cierre la popup si existe.

Eso no ocurrirá nunca, dado que en el momento de recargar una página, en lo que a javascript se refiere, no guarda ninguna variable ni dato anterior a su carga, por lo tanto no sabe que hay una popup que abrió previamente.

La única forma de hacer lo que quieres es mediante cookies.
  #15 (permalink)  
Antiguo 15/01/2004, 16:48
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Bien, por fin... mi duda existencial de los popups se ha aclarado.
Un aplauso.. de to agradezco de corazón.
Gracias por tu ayuda, reconozco que lo que me has comentado es básico para entender a usar javascript.

Si quisiera cerrar un popup anterior, para abrir uno nuevo, cuando hago click en un link. En este caso no hacemos una recarga de la pagina principal. I por tanto no perdemos ninguna variable, si que seria viable.

Esta seria la forma correcta?
<a href='#' onclick="var nueva; if (nueva) nueva.close(); nueva=window.open('','nueva',''); return false;"> abrir popup1 </a>
<br />
<a href='#' onclick="var nueva; if (nueva) nueva.close(); nueva=window.open('','nueva',''); return false;"> abrir popup2 </a>
  #16 (permalink)  
Antiguo 17/01/2004, 12:07
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
Hola de nuevo

mira, creo que este script te puede servir para lo que quieres hacer....


<script language="JavaScript" type="text/javascript">
var abierta = false
var ventana
function abre(cual){
if(abierta){cierra()}
ventana = window.open(cual,'ventana','width=200,height=200')
abierta = true
}
function cierra(){
if(abierta){ventana.close(); abierta=false}
}
window.onunload = cierra
</script>
</head>

<body>
<a href='#' onclick="abre('pagina1.htm');return false;"> abrir popup1 </a>
<br />
<a href='#' onclick="abre('pagina2.htm');return false;"> abrir popup2 </a>

</body>
</html>


Dime si te sirvió
  #17 (permalink)  
Antiguo 17/01/2004, 16:22
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Si me ha servido, y además he he hecho unos arreglillos a ver que te parece. La solución esta en definir una variable ventana en el script, es la madre de los huevos.

Te agradezco tu interes altuista. Por cierto miré tu web y cogi prestado algun script de imagenes.

Un saludo.

var ventana
function abre(cual){
if(ventana){ventana.close()}
ventana = window.open(cual,'ventana','width=200,height=200')
}

</script>
</head>

<body>
<a href='#' onclick="abre('pagina1.htm');return false;"> abrir popup1 </a>
<br />
<a href='#' onclick="abre('pagina2.htm');return false;"> abrir popup2 </a>
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 21:28.