Cita:
Iniciado por quebien
...porque aparentemente no espera a que cargue la imagen y salta a las lineas de ancho y alto...
precisamente eso es lo que sucede. sin embargo, la alternativa del
complete no la considero fiable. primero, no es una propiedad estandarizada por W3C, de modo que probablemente no todos los navegadores admiten dicha propiedad. aunque con algo de suerte los navegadores mas populares lo admiten, desconozco de Chrome y Safari. por otro lado, con la propiedad
complete habria que verificar constantemente para determinar si se cargo la imagen o no.
la otra alternativa es utilizar el evento onload en la imagen:
Código:
var img = new Image();
img.src = "ruta/filename.ext";
img.onload = function(){
ancho = this.width;
alto = this.height;
// de ser necesario, otras sentencias...;
}