Obtenir la largeur la hauteur de la distance de l'image à partir de l'url

Donc l'alerte donne pas défini de valeurs pour la largeur et la hauteur. Je pense que les valeurs w et h de l'image de l'img.onload de calcul n'est pas transmis les valeurs de retour, ou il peut être de retour w et h avant le onload calcule eux:

function getMeta(url){
 var w; var h;
 var img=new Image;
 img.src=url;
 img.onload=function(){w=this.width; h=this.height;};
 return {w:w,h:h}    
}

//"http://snook.ca/files/mootools_83_snookca.png" //1024x678
//"http://shijitht.files.wordpress.com/2010/08/github.png" //128x128

var end = getMeta("http://shijitht.files.wordpress.com/2010/08/github.png");
var w = end.w;
var h = end.h;
alert(w+'width'+h+'height');

Comment puis-je avoir l'alerte montrer la bonne largeur et la hauteur?

http://jsfiddle.net/YtqXk/

  • La raison pour laquelle il n'est pas le travail, c'est parce que au moment où vous return votre largeur et la hauteur des valeurs qu'ils ne sont pas encore connues. Vous avez besoin pour faire face à la résultat à l'intérieur de la onload de rappel. Vous devriez probablement faire de la fonction de rappel d'un second argument à votre getMeta fonction.
InformationsquelleAutor Wonka | 2012-07-11