Get the real width and height of an image with JavaScript? (in Safari/Chrome)

后端 未结 30 2343
傲寒
傲寒 2020-11-22 01:16

I am creating a jQuery plugin.

How do I get the real image width and height with Javascript in Safari?

The following works with Firefox 3, IE7 and Opera 9:

30条回答
  •  旧巷少年郎
    2020-11-22 01:45

    This works for both cached and dynamically loaded images.

    function LoadImage(imgSrc, callback){
      var image = new Image();
      image.src = imgSrc;
      if (image.complete) {
        callback(image);
        image.onload=function(){};
      } else {
        image.onload = function() {
          callback(image);
          // clear onLoad, IE behaves erratically with animated gifs otherwise
          image.onload=function(){};
        }
        image.onerror = function() {
            alert("Could not load image.");
        }
      }
    }
    

    To use this script:

    function AlertImageSize(image) {
      alert("Image size: " + image.width + "x" + image.height);
    }
    LoadImage("http://example.org/image.png", AlertImageSize);
    

    Demo: http://jsfiddle.net/9543z/2/

提交回复
热议问题