<script defer>
img=document.createElement("img"); 
img.style.position="absolute"; 
img.style.visibility="hidden"; 
document.body.insertAdjacentElement("beforeend",img); 
//img.src=inp.value;//inp是form中的file控件名
img.src="http://zi.csdn.net/business/120-60ww2.9.gif"
img.onload=function(){
   alert(["你选择的图片大小是:",img.width,img.height])
}
</script>

解决方案 »

  1.   

    <script defer>
    img=document.createElement("img"); 
    img.style.position="absolute"; 
    img.style.visibility="hidden"; 
    document.body.insertAdjacentElement("beforeend",img); 
    //img.src=inp.value;//inp是form中的file控件名
    img.src="http://zi.csdn.net/business/120-60ww2.9.gif"
    img.onreadystatechange=function(){
       if (img.readyState=="complete") alert(["图片大小是:",img.width,img.height])}
        //if img.width>200..... alert太大了
    </script>
      

  2.   

    Sorry,图片的大小指的是图象是几KB,而不是指宽高
    我刚才试过了,用onLoad事件来获取fileSize不管用。
      

  3.   

    你说的用img.onreadystatechange=function(){}在图片只有几kb大小时管用,如果图片超过100KB时,比如说img.src="http://zi.csdn.net/business/120-60ww2.9.gif"中120-60ww2.9.gif如果超过100KB,那么img.onreadystatechange不会马上是complete的,它需要一个过程,也就是说要等一段时间后才会是complete,我想请教的是怎么等到img.onreadystatechange是complete后在进行大小判断?
    辛苦了,兄弟!
      

  4.   

    你的脚本有没有读取客户端文件的权限,只有有这个权限才能用fso对象读取文件大小
      

  5.   

    img.onreadystatechange=function(){
       if (img.readyState=="complete") alert(["图片大小是:",img.width,img.height])
    }这个就是等到complete后再进行大小判断当然不会马上是complete,当然是一个过程,要等img对象读完图象后他才知道图片的大小。
    就好象你面前有一个苹果,要等你咬了一口吞下去后才知道苹果好不好吃。这需要一个过程。你咬都不咬它就想知道苹果的味道,哪有那么美的事情啊。
    除非你有fso权限,可以直接去读客户端文件,不然很难知道文件大小的
      

  6.   

    那在程序里能不能等到img.onreadystatechange是complete后在进行下面的判断呢 ?
    有没有让程序暂时休眠啊什么的方法
      

  7.   

    我最初是想用循环方法直到img.onreadystatechange是complete,可是好象程序一直执行这个循环了,没有在装载图片了,最后IE说有程序导致缓慢什么的,不行啊!