Holen Sie sich die Breite des entfernten Bildes von der URL

So die Warnung gibt Undefinierte Werte für die Breite und Höhe. Ich denke, die w-und h-Werte des Bildes von der img.onload-Berechnung nicht an die Werte zurückgeben, oder Sie können zurückkehren, w und h vor onload berechnet Sie:

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');

Wie kann ich die alert-Karte die richtige Breite und Höhe?

http://jsfiddle.net/YtqXk/

Kommentar zu dem Problem
Der Grund, warum es nicht funktioniert ist, weil an der Stelle, wenn Sie return die Breite und Höhe Werte, die Sie noch nicht bekannt sind. Sie benötigen, um mit dem Ergebnis inside mit der onload callback. Sie sollten wahrscheinlich machen die callback-Funktion eine zweite argument von getMeta Funktion. Kommentarautor: powerbuoy

InformationsquelleAutor der Frage Wonka | 2012-07-11

Schreibe einen Kommentar