Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/03/2005, 05:37
Morgui
 
Fecha de Ingreso: diciembre-2004
Ubicación: La Rioja
Mensajes: 336
Antigüedad: 20 años, 5 meses
Puntos: 2
Error al detectar tamaño de imagen

Hola, tengo un problema con un código que funciona a veces. Lo posteo por si alguien sabe qué está fallando. Antes de nada, muchas gracias.

<%
f = request("f")
f = replace(f,"\","/")
%>
<script>
var fotoa;
foto = "<%=f%>";
fotoa = new Image();
fotoa.src = 'file:///' + foto;
chequefa(foto);

function chequefa(aux){
aux2 = aux;
if (fotoa.complete){
if (fotoa.width > 700){
document.imgf.src = 'img/tamamp.png';
}else{
document.imgf.src = fotoa.src;

foto = fotoa.src;
}
if (document.all) {
top.window.resizeTo(document.imgf.width,document.i mgf.height);
}
else if (document.layers||document.getElementById) {
if (top.window.outerHeight<screen.availHeight||top.wi ndow.outerWidth<screen.availWidth){
top.window.outerHeight = document.imgf.height;
top.window.outerWidth = document.imgf.width;
}
}
alert("anchura="+document.imgf.width);
}
else setTimeout("chequefa(aux2)",100);

}
</script>

Se trata de una ventana que recibe el valor de un campo FILE y carga la fotografía seleccionada en el FILE en la imagen del documento llamada imgf. Después, el tamaño de la ventana de adapta a la anchura y altura de la fotografía.

Todo parece funcionar bien, pero hay veces que no llega ni a cargar la foto, y otras veces no detecta la altura o la anchura, aunque muestra la imagen.

Otra vez me pasó en otro proyecto y lo solucioné con la comprobación de fotoa.complete y setTimeout("chequefa(aux2)",100); pero en esta ocasión parece que falla y no sé por qué.

Espero haberme explicado...