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
| |||
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 |
| |||
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. |
| ||||
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? |
| |||
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? |
| |||
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> |
| ||||
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()"> |
| ||||
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. |
| |||
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> |
| ||||
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ó |
| |||
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> |