因网页里面有大量图档,有时候开启时会有一些图档载入失败,请问javascript有办法知道一共几张图片载入失败吗?
有办法用javascript让那几张图片再重新载入,而不是按f5全部更新重新载入?

解决方案 »

  1.   


    不过图片ID都要一样来
    if(document.all.图片ID.src = "");
      

  2.   

    if(document.all.图片ID.src = "");
     这样子好像不行,图片地址都有出现只是载入异常中断,可能流量大速度慢就自动中断有图也载入一半就停止,想说设一个键,让错误的再reload。
      

  3.   

    通过图片的onerror事件添加变量值试试
      

  4.   

    有没有类似image.size可以判断图片大小之类的,我想依此来判断是否载入完全。
    因为这是从20个网页里面取出部份代码,并装成的html,里面全是图档网址+解说,只能在并装的时候加入一个按键判断有那些图片没载入正常,让他再重载一次,效果就像在图片上按重新载入图片。
      

  5.   

    反正载入成功用onload事件
    载入错误用onerror事件
    html应该不能判断当前加载了多少size
    反正没加载完是没有onload的
      

  6.   

    给你个思路——<div id="info">@</div><script>
    var $  = function(o){return document.getElementById(o)}
    $.tag = function(o){return document.getElementsByTagName(o)}
    $.num = 0;
    $.map = function(obj, foo){for(var i=0; !!obj[i]; i++) foo.call(obj[i], i)}
    $.map($.tag("img"), function(i){
          this.onerror = function(){
              $.num ++ ;
              $("info").innerHTML = "第"+[i+1]+"张图片加载失败,将重新加载。<br>现共有"+$.num+"张图片加载失败!";
              this.src = this.src;
          }
    })
    </script>
      

  7.   

    prototyper高手,可否大致解说一下太难了,看不太懂!!obj[i]foo.call(obj[i], i)//什么意思?
      

  8.   

    可否有高手大致解说一下太难了,看不太懂!!obj[i]foo.call(obj[i], i)//什么意思?
      

  9.   

    obj[i],前面加!转为boolean,如果 obj[i]存在 !obj[i]==false,!!obj[i]==true;不存在!obj[i]==true,!!obj[i]==false;意思就是在存在的时候继续运行for循环,
    foo.call(obj[i],i)//
    调用 foo,参数为i,并且,在foo内部this是指obj[i]