Foros del Web » Programando para Internet » Javascript »

Quiero que no se muestre la página hasta que no esté totalmente descargada. COMO?

Estas en el tema de Quiero que no se muestre la página hasta que no esté totalmente descargada. COMO? en el foro de Javascript en Foros del Web. Hola a todos, tengo una página con varias imágenes que tiene cada una un enlace. El problema es que si mientras se están descargando el ...
  #1 (permalink)  
Antiguo 01/09/2004, 03:17
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 22 años, 1 mes
Puntos: 0
Quiero que no se muestre la página hasta que no esté totalmente descargada. COMO?

Hola a todos,

tengo una página con varias imágenes que tiene cada una un enlace. El problema es que si mientras se están descargando el usuario pincha un imágen, las imágenes que no se han descargado hasta ese momento no se muestran. Por eso quiero evitar que el usuario pueda pinchar una imagen hasta que se descargue la página completamente.

Cómo puedo hacer esto?

Muchas gracias y saludos al foro,

Mickeyzgz
  #2 (permalink)  
Antiguo 01/09/2004, 04:07
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 22 años, 1 mes
Puntos: 0
Hola a todos,

ya he encontrado la solución gracias a CLARAY. Está en este post por si os puede ayudar tambien a vosotros:

http://www.forosdelweb.com/showthrea...ighlight=carga

Muchas gracias,
Mickeyzgz
  #3 (permalink)  
Antiguo 01/09/2004, 04:17
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
'ta buena la idea pero con esa sintaxis sólo te a servir para explorer.

Te sugiero cambies esto

<script language="javascript">
function muestraGranDiv(){
document.all.granDiv.style.visibility = "visible";
}
</script>

por esto

<script language="javascript">
function muestraGranDiv(){
document.getElementById('granDiv').style.visibilit y = "visible";
}
</script>

Otra formula que podrías usar es la siguiente:

A los links de imágenes les pides que al hacer click no hagan nada

<a href="pepe.htm" onclick="return false"><img src="imagen.jpg" /></a>

Y pones esta función en head

<script type="text/javascript">
function enlaces(){
for(m=0; m<document.getElementsByTagName('a'); m++){
document.getElementsByTagName('a')[m].onclick= function(){return true}
}
}
</script>

Y en body llamas a la función en el evento onload

<body onload="enlaces()">

saludos...

Última edición por tunait; 01/09/2004 a las 04:19
  #4 (permalink)  
Antiguo 01/09/2004, 05:00
Avatar de seoista  
Fecha de Ingreso: septiembre-2003
Ubicación: Pues leyéndote
Mensajes: 1.076
Antigüedad: 21 años, 3 meses
Puntos: 59
Perdonad que me entrometa, pero sólo una pregunta
Código:
<head>
<script language="javascript">
function muestraGranDiv(){
document.all.granDiv.style.visibility = "visible";
}
</script>
</head>

<body onload="muestraGranDiv()">

<div id="granDiv" style="visibility:hidden;">
...
</div>

</body>
el <body...> con más códigos, ¿ cómo se pondría. ?

ASÍ: <body onload="muestraGranDiv()" bgcolor="#EEEEEE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
ó
ASÍ: <body onload="muestraGranDiv()"; bgcolor="#EEEEEE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

¿ Con punto y coma (;) ó sin ella?

Muchas gracias.

Saludos
  #5 (permalink)  
Antiguo 01/09/2004, 05:02
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Hola Seoista

Sin el punto y coma

<body onload="muestraGranDiv()" bgcolor="#EEEEEE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  #6 (permalink)  
Antiguo 01/09/2004, 05:05
Avatar de seoista  
Fecha de Ingreso: septiembre-2003
Ubicación: Pues leyéndote
Mensajes: 1.076
Antigüedad: 21 años, 3 meses
Puntos: 59
Gracias tunait
I love you
  #7 (permalink)  
Antiguo 01/09/2004, 05:16
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 20 años, 3 meses
Puntos: 0
Pregunta Para tunait

Hola tunait ...

He probado:

<head>
<script language="JavaScript" type="text/javascript">
function muestraGranDiv(){
document.getElementById('granDiv').style.visibilit y = "visible";
}
</script>
</head>

<body onload="muestraGranDiv()">
<div id="granDiv" style="visibility:hidden;">
.....
</div>
</body>

De verdad que funciona super bien tanto en IE como en Firefox ... pero me gustaria preguntarte algo:

¿Existirá alguna forma de personalizar el script o el DIV, de manera que durante la carga de las imágenes, que se realiza en background, el usuario pueda ver un texto como "Por favor espere. Cargando contenido..." (que por supuesto, desaparezca al terminar la carga)?

Vale la pregunta para tunait e incluso cualquier persona que pudiera responderla.

Saludos
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.
  #8 (permalink)  
Antiguo 01/09/2004, 05:21
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Claro basta con que pongas otra capa que contenga ese texto y que se comporte de forma inversa a la otra capa.

Por ejemplo, agregas esto nada más abrir body:

<div id="cargando" style="width: 100%; height: 500px; position: absolute;"> Aquí el código para mostrar el cargando </div>

y a la función le añades ....

<script language="JavaScript" type="text/javascript">
function muestraGranDiv(){
document.getElementById('granDiv').style.visibilit y = "visible";
document.getElementById('cargando').style.visibili ty = "hidden";
}
</script>

El resto lo dejas igual. Supongo que debería funcionar ok
  #9 (permalink)  
Antiguo 01/09/2004, 05:58
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 20 años, 3 meses
Puntos: 0
Perfecto!!!!!!!!

GRACIAS TUNAIT ...EXCELENTE IDEA, FUNCIONA A LA PERFECCION

Por cierto, podría hacer un resúmen de todos las respuestas de este tópico (y agregarla aki mismo al final) para que así otros usuarios lo tengan de referencia?
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.
  #10 (permalink)  
Antiguo 01/09/2004, 06:19
 
Fecha de Ingreso: noviembre-2003
Ubicación: Caracas :D - Venezuela
Mensajes: 36
Antigüedad: 21 años, 1 mes
Puntos: 0
en el caso q necesite mostrar una imagen en vez de un mensaje puedo poner la imagen y funcionaria igual???
__________________
de Caracas - Venezuela para el mundo! :D
  #11 (permalink)  
Antiguo 01/09/2004, 06:31
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 20 años, 3 meses
Puntos: 0
Si, lo acabo de probar con una imágen en vez del texto y funciona bien
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.
  #12 (permalink)  
Antiguo 01/09/2004, 06:39
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Cita:
Iniciado por khronos
Por cierto, podría hacer un resúmen de todos las respuestas de este tópico (y agregarla aki mismo al final) para que así otros usuarios lo tengan de referencia?
Claro y de paso yá que haces el resumen podrías agregarlo a las FAQ del foro de javascript, que me parece que no hay nada similar a esto



Cita:
Iniciado por eck0z0r
en el caso q necesite mostrar una imagen en vez de un mensaje puedo poner la imagen y funcionaria igual???

Yesss, dentro de ese div puedes poner lo que quieras
  #13 (permalink)  
Antiguo 01/09/2004, 06:45
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 20 años, 3 meses
Puntos: 0
OK, gracias tunait ... justo ahora preparare el resumen y en cuanto este listo avisaré
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.
  #14 (permalink)  
Antiguo 01/09/2004, 06:49
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Astupendo acuérdate de agregar que es una idea original de claray
  #15 (permalink)  
Antiguo 01/09/2004, 08:31
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 20 años, 3 meses
Puntos: 0
Ya está lista la FAQ, bajo el número 61 ...Si tiene tiempo por favor revisela para ver si todo está en orden
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.
  #16 (permalink)  
Antiguo 02/09/2004, 04:38
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
La FAQ te ha quedado fenomenal muchas gracias por el aporte, khronos

Traslado el tema al foro de javascript

movido desde (x)html

Saludos!
  #17 (permalink)  
Antiguo 02/09/2004, 10:50
Avatar de Khronos  
Fecha de Ingreso: agosto-2004
Ubicación: Venezuela, PLC
Mensajes: 218
Antigüedad: 20 años, 3 meses
Puntos: 0
Traslado de FAQ

Por nada... ha sido un placer poder colaborar!

Ya he trasladado la ayuda a la sección de FAQ de Javascript y está bajo el número 195
__________________
When someone dies in the grip of a powerful rage... A curse is born. The curse gathers in that place of death. Those who encounter it will be consumed by its fury.
  #18 (permalink)  
Antiguo 22/11/2006, 15:14
 
Fecha de Ingreso: marzo-2005
Mensajes: 7
Antigüedad: 19 años, 9 meses
Puntos: 0
Hola, me ha servido mucho esto, pero tengo un problema con la imagen.
Funciona todo muy bien, salvo que al cargar la pagina, la imagen de 'cargando' que puse, no se va.
Como puedo arreglar eso?

Los codigos los puse tal cual aca.

Muchas gracias
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 04:17.