Foros del Web » Programando para Internet » Javascript »

Mostrar pagina luego de que ésta está completamente cargada

Estas en el tema de Mostrar pagina luego de que ésta está completamente cargada en el foro de Javascript en Foros del Web. Hola a todos! Necesito hacer que mis páginas se caguen completamente antes de que el usuario las pueda ver, y así evitar que las imágenes ...
  #1 (permalink)  
Antiguo 09/06/2012, 08:11
 
Fecha de Ingreso: junio-2012
Mensajes: 1
Antigüedad: 11 años, 10 meses
Puntos: 0
Mostrar pagina luego de que ésta está completamente cargada

Hola a todos!

Necesito hacer que mis páginas se caguen completamente antes de que el usuario las pueda ver, y así evitar que las imágenes en la pagina se carguen de a pedazos.

No se NADA de javascript!

Agradezco cualquier ayuda!!

Gracias y saludos a todos!
  #2 (permalink)  
Antiguo 09/06/2012, 10:23
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Mostrar pagina luego de que ésta está completamente cargada

En primer lugar , Bienvenido/a a FDW @LunaLuna

Hay soluciones más avanzadas, pero dado tus pocos conocimientos te doy una más simple

inmediatamente despues del tag body
inserta una capa, por ejemplo
<div id="precargar">
</div>

Posteriormente en esa capa insertá tags <img> para cada imagen que quieras se cargue previamente.
Finalmente, en tu css dale a la capa precarga los siguientes valores
#precargar{
display: none;
}

De esa manera las imágenes ya va a estar disponibles para cuando las muestres más adelante en el documento

Desde ya que este ó cualquier otro procedimiento para precargar las imágenes va a resultar en una demora que va a afectar a todo el documento.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 09/06/2012, 22:31
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 12 años, 10 meses
Puntos: 32
Respuesta: Mostrar pagina luego de que ésta está completamente cargada

Te recomiendo que evites que el usuario espere a que todas las imagenes carguen a menos que sean indispensables por que si alguna de ellas llegara a fallar entonces la pagina ya no mostraria nada lo mejor seria que te conformes con que se carguen todos los elementos usando un simple window.onload pero antes poner como dice el compañero de arriba pero sin las imagenes para que al menos coloques un "Cargando...".
  #4 (permalink)  
Antiguo 09/06/2012, 23:23
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 12 años, 10 meses
Puntos: 32
Respuesta: Mostrar pagina luego de que ésta está completamente cargada

Te dejo un pequeño script que hice, solo colocalo hasta abajo del contenido de <body>
Código Javascript:
Ver original
  1. var obj_contain = document.getElementById('contain');
  2. var obj_loadingMessage = document.getElementById('loadingMessage');
  3. function loading()
  4. {
  5.     var images = document.images;
  6.     for (var i = 0; i<images.length; i++) {
  7.         var image = images[i];
  8.         if (image.complete) {
  9.             if ((i+1)==images.length) {
  10.                 obj_loadingMessage.style.display = 'none';
  11.                 obj_contain.style.display = 'block';
  12.             }
  13.         } else {
  14.             setTimeout(loading, 30);
  15.             return false;
  16.         }
  17.     }
  18. }
  19. obj_contain.style.display = 'none';
  20. obj_loadingMessage.style.display = 'block';
  21. loading();

Debes tener la siguiente estructura como ejemplo

Código HTML:
Ver original
  1. <head>...</head>
  2.     <div id="contain" style="display:none">
  3.          ...Contenido de la pagina...
  4.     </div>
  5.     <div id="loadingMessage" style="display:none">
  6.         <h2>Cargando...</h2>
  7.     </div>
  8.     <script type="text/javascript">
  9. var obj_contain = document.getElementById('contain');
  10. var obj_loadingMessage = document.getElementById('loadingMessage');
  11. function loading()
  12. {
  13.     var images = document.images;
  14.     for (var i = 0; i<images.length; i++) {
  15.        var image = images[i];
  16.        if (image.complete) {
  17.            if ((i+1)==images.length) {
  18.                obj_loadingMessage.style.display = 'none';
  19.                obj_contain.style.display = 'block';
  20.            }
  21.        } else {
  22.            setTimeout(loading, 30);
  23.            return false;
  24.        }
  25.    }
  26. }
  27. obj_contain.style.display = 'none';
  28. obj_loadingMessage.style.display = 'block';
  29. loading();
  30.    </script>
  31. </body>
  32. </html>

Saludos.

Última edición por IXtremeLT; 09/06/2012 a las 23:44
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 12:52.