var originImage1=new Image();
 originImage1.src=xxx.jpg;
 originImage1.width ;
 originImage1.height;
这种方法在IE7下用不了、?!难道真的只能在后台判断吗?有人做过吗?

解决方案 »

  1.   

    只要加入到文档中就可以得到实际的大小了
    originImage1.offsetWidth;
    originImage1.offsetHeight;
      

  2.   

    只要img加载完毕判断还是可以的,
    另外可以放在隐藏的<img里加载判断
      

  3.   

    可以用js的开源库jquery在jsp中
    <img id="imgage" src="" width="23" height="34"/>
    然后var width=$("#imgage").attr("width");
    var height=$("#imgage").attr("height");
      

  4.   


     var originImage1=new Image();
      originImage1.src="xxx.jpg";
      originImage1.onload=function(){
        alert(this.width);
        alert(this.height);
      }
      

  5.   

    加载完了才能获取其大小var originImage1=new Image();
     originImage1.src=xxx.jpg;
    originImage1.onload = function(){
       //this.width ;
       //this.height;
    }
      

  6.   

    对的,同上,onload之后,就知道img.width和img.height了
      

  7.   

    ie都没有问题,width 应该都可以用,检测到ready后读取。
      

  8.   

    要在图片的加载onload事件中计算。
      

  9.   


    var originImage1=new Image();
     originImage1.src=xxx.jpg;
    originImage1.onload = function(){
       //this.width ;
       //this.height;
    }
      

  10.   

        originImage.onload = function(){
       this.width;
       this.height;
       alert(this.width);
       alert(this.height);
    }IE7它木有进来。
      

  11.   


    var image = document.getElementById("image");
    alert("图片 image 的实际宽度为:" + image.offsetWidth);
    alert("图片 image 的实际高度为:" + image.offsetHeight);
      

  12.   

    總結一下!IE7下無法直接用JS判斷圖片大小,必須修改流覽器的安全級別。
    IE7不允許訪問文件!另外6樓和7樓的方法 如果是gif圖片,會不停的onload !最後還是在後臺判斷的。OK!結貼!
      

  13.   

    6楼的方法还是存在一定问题。如果有多张图片的时候,在一个循环里,用6楼的方法,不能保证图片一定取得到。看了别人的解释,不知道对不对:〉〉〉解决IE中img.onload失效的方法
    最近在做web开发,其中有一个需求:利用Javascript获取要加载的图片的尺寸,所以很自然的,我就想到了img的onload方法,在firefox下开发完成后,我到IE下调试,发现img的onload事件很多情况下都不被调用。我最初的代码如下:
    var img = new Image;
    img.src = "test.gif";
    img.onload = function(){
        alert ( img.width );
    };
        这段代码看着没什么问题,但是为什么onload没有被IE调用呢?因为IE会缓存图片,第2次加载的图片,不是从服务器上传过来的,而是从缓冲区里加载的。是不是从缓冲区里加载的图片就不触发onload事件呢?我于是我测试了以下代码,成功了~
    var img = new Image;
    img.onload = function(){
        alert ( img.width );
    };
    img.src = "test.gif";    我把onload写到前面去,先告诉浏览器如何处理这张图片,再指定这张图片的源,这样就正常了。所以,不是IE没有触发onload事件,而是因为加载缓冲区的速度太快,以至于没有运行到img.onload的时候,onload事件已经触发了。这让我想到了Ajax,我们在写xmlhttp的时候,都是先指定onstatechange的回调函数,然后再send数据的,道理是一样的。本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tmeteor/archive/2009/10/09/4645317.aspx
      

  14.   


    我明白了。一直不知道为什么要把img.src = "test.gif"; 放在下面!
    明白了了。
    谢谢!还有就是gif图片是每一帧都会进一次onload!