Foros del Web » Programando para Internet » Javascript »

pop up 'de espera'

Estas en el tema de pop up 'de espera' en el foro de Javascript en Foros del Web. Hola, Les comento que tengo este script en PHP para que los usuarios suban sus archivos, archivos que a veces son muy grandes. Quiero que ...
  #1 (permalink)  
Antiguo 27/07/2004, 12:45
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 23 años, 4 meses
Puntos: 59
pop up 'de espera'

Hola,
Les comento que tengo este script en PHP para que los usuarios suban sus archivos, archivos que a veces son muy grandes.

Quiero que cuando el usuario de click al botón del formulario, formulario que llama al archivo de proceso PHP, salga un pop up con la imagen X que diga que el archivo se está subiendo al servidor or whatever y que cuando el archivo se suba, este pop up se cierre. De gran utilidad es que la página base no se pueda enfocar mientras el pop up esté vivo, activado, o como quieran llamarlo.

Hay manera de hacer eso?
__________________
Cool Village
@Wakkos
  #2 (permalink)  
Antiguo 27/07/2004, 12:51
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 5 meses
Puntos: 381
Yuuujuuuss ....


Hum... qué tal que en el momento en el que se le dé al botoncito de upload lance la popup antes de submitirse y que la popup, además de la imagen, lleve un....


setTimeout('self.focus()',10)

si no te hace caso con self, prueba con this o con window o simplemente dejas el focus()

... y en el momento en que se termine el upload al cargar la página con eso de "todo fué de p.m." lance un ventanita.close() ??
  #3 (permalink)  
Antiguo 27/07/2004, 15:00
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 23 años, 4 meses
Puntos: 59
rrrright. Puedo hacer que salte el pop up (toy un poco noob en Javascript)

El settimeout nolo he probado, pero el problema que tengo ahora es que no puedo hacer que cierre la ventana (wiwi no está definido) y wiwi es el nombre que le doy al pop up.

Pongo el código? pero porsupuesto! faltaría más.

el código de pop up que logré hacer es:
Código HTML:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function ventanita(pagina, nombre, ancho, alto, scroll) {
var winl = (screen.width - ancho) / 2;
var wint = (screen.height - alto) / 2;
winprops = 'height='+alto+',width='+ancho+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(pagina, nombre, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
//  End -->
</script> 
El que envía el formulario:
Código HTML:
<form action="process.php" method=post enctype="multipart/form-data" ONSUBMIT="return ventanita('espera.php','wiwi','400','400','no');"> 
Y en la página que se abre (process.php)
Código PHP:
echo "<HTML><BODY onload='javascript:wiwi.close ();'></body></html>"
__________________
Cool Village
@Wakkos
  #4 (permalink)  
Antiguo 27/07/2004, 15:10
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 5 meses
Puntos: 381
Humfs.... me temía que al recargar no se enteraría de que antes abrió esa popup....

qué tal con cookies? te hago un ejemplo?
  #5 (permalink)  
Antiguo 27/07/2004, 15:28
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 23 años, 4 meses
Puntos: 59
agradecería el ejemplo.

Ahora, no se si esto es Javascript pero es otra idea, a lo mejor se hace con PHP:
Se puede mostrar la imagen mientras se ejecuta el script? osea, mientras se ejecuta toda la parafernalia de PHP que se muestre una imagen mientras? si parece viable hasta puede ser que coloque la pregunta en el foro de PHP ;)
__________________
Cool Village
@Wakkos
  #6 (permalink)  
Antiguo 27/07/2004, 15:41
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 5 meses
Puntos: 381
Pos... no sé si podría hacer eso con php, algún día prometo ponerme con ello


entre tanto, yá hice el ejemplo con las galletas y funciona en etsplorer y en morzilla, a ver qué te parece

A la popup le puse esto

<script language="JavaScript" type="text/javascript">
setInterval("if(document.cookie.indexOf('esperar=f alse')>-1){self.close()}",30)
window.onblur = function(){window.focus()}
</script>

Luego, a la página padre le añades tras el lanzamiento de la popup esto otro

ONSUBMIT="return ventanita('espera.php','wiwi','400','400','no');;document.cookie='esperar=true'"


y luego en la ventana padre cuando regresa con el uploadokay le pones esto

<script language="JavaScript">
document.cookie = 'esperar=false'
</script>

Prueba y me cuentas

... por cierto, es una cookie de sesión que se muere al momento de cerrar la ventana padre, no es necesario destruírla luego
  #7 (permalink)  
Antiguo 27/07/2004, 17:47
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 23 años, 4 meses
Puntos: 59
Muy bien!
es la 1:45 am y me entretuve viendo un programa de J.J. Benítez, pero apenas amanezca tengo planeado implementar lo de las cookies, si no, a lo mejor si tiro un "<form action="PHP_SELF" tal vez reconozca la ventanita creada ;)
Buenas Noches y mañana reproduzco mis experiencias ;)
__________________
Cool Village
@Wakkos
  #8 (permalink)  
Antiguo 27/07/2004, 21:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 23 años, 1 mes
Puntos: 129
Cita:
a lo mejor se hace con PHP:
Se puede mostrar la imagen mientras se ejecuta el script?
En el tema concreto de "upload" de archivos vía PHP por HTTP .. el control al script PHP no se devuelve hasta que el archivo ha subido por completo (por lo menos en PHP 4 .. en PHP 5 creo que estaba previsto que eso no sucediese así para acceder a los RAW_POST_DATA o algo así ..). Si pudieras tener control del script PHP mientras sube la imagen .. podrías hacer entre otras cosas una barra de progreso del "upload".

Aquí tienes un ejemplo completo de "barra de progreso" que usa Perl y PHP para el proceso completo + un montón de javascript. La rutina "Perl" se usa para tener acceso al "RAW_POST_DATA" y así saber que "cuanto" le queda al archivo por subir .. todo eso se lo trabaja Perl y se lo pasa a PHP + Javacript para hacer la parte "gráfica" del asunto y control final del archivo que subió:

http://www.raditha.com/php/progress.php

Con PHP sólo (PHP 4) .. tendrías que entrar a compilar PHP con un "parche" que existe:
http://pdoru.from.ro/
(ahí tienes el parche y el ejemplo)

Luego también tienes cosas como esta (Applet Java o ActiveX):
http://www.ibulc.com/
Que son un sustituto al "file" de HTML común. De esta forma puedes seleccionar directorios completos incluso a subir y control total sobre le Upload (con estado de progreso).

Sobre tu ejemplo .. Si ya lanzas el process.php (que hace el move_uploaded_file() o copy() o similar para el proceso PHP de "upload") .. Podrías hacer:

Código PHP:
<?
// proceso PHP de Upload
?>
<html>
<body onLoad="window.close()">
</body>
</html>
Es decir .. cerrrar la ventana sin indicar nombre .. ya que estamos en esa misma ventana que ya abristes en tun window.open() anterior.

Un saludo,
  #9 (permalink)  
Antiguo 28/07/2004, 00:59
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 21 años, 5 meses
Puntos: 0
aporte

No se si lograste desactivar la ventana mientras el pop-up esta abierto, pero yo te recomiendaria una condicional q si el opener recibe el foco, q lo pase al pop. Lo podes situar tanto en el opener como en la ventana child. Esto es util ya q si quieren seleccionar la ventana principal, no podran, pero si podran mandarlas ambas hacia atras.
Espero haber sido de ayuda.

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
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:13.