Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/12/2002, 20:23
Avatar de SpiceMan
SpiceMan
 
Fecha de Ingreso: noviembre-2002
Mensajes: 160
Antigüedad: 21 años, 5 meses
Puntos: 0
Bueno, como contador tengo pensadas 3 posibles formas, primero los enumero y después explico posibles implementaciones (o imposibilidades ) :

1) Comienza a cargar la pagina y aparece algo asi como "Cargando: 0%" y va subiendo a medida que se van obteniendo los datos (muy usado en los flash)
2) Se realiza una operación y aparece una imágen animada de cargando con luces y trompetas pero que en realidad no hace nada.
3) Se lanza un pop-up que tiene algun grafico animado de "Cargando" y se cierra el popup automaticamente cuando se termina de cargar la pagina.


Vamos 1 por 1.
Primer caso: Es casi literalmente imposible hacerlo excepto en flash. El flash más allá de todos sus movimientos es un documento que no varía, es como un rollo de pelicula, no deja de ser un rollo por más que este corriendo. Para determinar cuanto falta exactamente en porcentaje (o mas sencillamente en bytes), deberíamos falta saber el tamaño final del documento + las distintas imagenes mostradas en el mismo (sin contar con los archivos .css y .js). Hay 2 maneras de saber el tamaño de los archivos, una con PHP, donde se obtiene el tamaño del archivo PHP antes de generar los contenidos dinámicos por lo que es imposible saber el tamaño que tendrá al finalizar de procesar todos los datos. Se podría usar tambien la propiedad del MS JScript document.filesize, pero solo funcionaría en IE y sólo podemos saber el tamaño de los archivos una vez obtenidos por lo que ya no tiene sentido usarlo

Segundo caso: Pones un documento con un lindo flash o gif animado o lo que te venga en gana y que a los pocos segundos redireccione a la página que para colmo de males todavía debe generar los datos. No tiene mucho sentido y además hay que ir llevando el pedido del cliente de un documento a otro y a otro.

Tercer caso: Es el que veo más verídico y lo que haría yo. Al envíar un pedido se envia genera un pop-up con un gráfico de cargando, etc. (hasta aca no difiere del segundo caso). La diferencia esta que además de generar el popup, redireccione la página principal al pedido de datos y que cuando termine de obtener todos los datos, algun javascript se encargue de cerrar el popup creado anteriormente. Con lo que queda perfecto el efecto ya que se cierra el pop-up al instante que se termina de cargar los datos (tambien podría hacerse con un layer al estilo http://dvd.box.sk)

Lamentablemente no se me ocurre alguna barra de estado o contador al estilo que querías.
En alguna páginas ponen una especie de barra de estado, pero lo que hace realmente es pre-cargar las imagenes de la página, lo cual no es muy fiable (una página puede tener 3 imagenes y 200k de texto, quedaría diciendo 100% cuando todavia faltan bajarse 190k de texto).


Seguire pensando pero no creo que se me ocurra mucho más.