I have recently attempted to load an image in JavaScript (using jQuery) and once loaded get it’s dimensions.
Using the following code I managed to successfully read the width and height properties in FireFox 2/3, IE 6/7, Windows Safari 3/4 and Google Chrome, but the dimensions were not available in Opera (10).
$('') .load(function() { $('body').append(this); var w = this.width; var h = this.height; //.. }) .error(function() { //.. }) .attr('src', '/path/to/image.jpg');
After a fair bit of time playing around trying to debug this small snippet of code, I eventually discovered that if the image was appended to the DOM after the width and height had been read then Opera would report the values correctly.
var w = this.width; var h = this.height; $('body').append(this); //..
Simply moving line 3 down to below the reading of dimensions solved this issue.