Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/09/2004, 17:14
Avatar de claray
claray
 
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 20 años, 3 meses
Puntos: 0
Estoy de acuerdo contigo caricatos, pero, tu codigo podria servir para simular algo por el estilo.

Si, por ejemplo, asumes que pasados "x" segundos no se ha cargado la imagen es debido a que es muy grande o no existe, entonces puedes usar una pequeña variación a tu rutina.


<script type="text/javascript">
var _img_grande;
var veces = 0;
var tiempoVerifica = 100; //cada cuanto verifica si cargo milisegundos
var segundosTimeOut = 10; //segundos antes de time out
var topecarga = parseInt(segundosTimeOut*1000/tiempoVerifica)

function mostrar() {
var ops = "top=" + ((screen.height - _img_grande.height) / 2);
ops += ",left=" + ((screen.width - _img_grande.width) / 2);
ops += ",width=" + _img_grande.width + ",height=" + _img_grande.height;
var contenido = "<html><body style='background-image: url(" + _img_grande.src + ")'></body></html>";
var ventana = window.open("", "", ops);
ventana.document.write(contenido);
ventana.document.close();
}

function cargando() {
veces++;
if (veces>topecarga){
alert("No se pudo cargar la imagen");
}
else{
if (_img_grande.complete) {mostrar();}
else setTimeout("cargando()", tiempoVerifica);
}
}
function abrir(imagen) {
_img_grande = new Image();
_img_grande.src = imagen;
veces=0;
cargando();
}
</script>


Concuerdo que cuando la conexión sea lenta se puede enviar información erronea, pero con un valor adecuado, creo que puede funcionar bastante bien.

(de todas maneras revisaria el tema del timer, ya que entiendo que hay que destruirlo explicitamente)

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan