楼上的观点应该可以用,但个人认为不够直观,会受限制于IE
如果不是“某些版本的IE甚至把iframe父窗口转向到报错界面”,可以用一个循环来检测iframe页面的加载,过了30秒如果iframe里面自己需要的元素没有出现的话,就自己再加载一次。但是这个方法也很烦!关注中……

解决方案 »

  1.   

    UP~UP~~~~请帮帮忙!非常急!谢谢大家了!
      

  2.   

    不用meta标签来自己刷新iframe,
    在主页面里面使用定时器刷新,
    刷新时先使用一个不可见页面判断网络状况,
    如果正常再刷新iframe
      

  3.   

    检查frame[x].document.readyState=="complete"
      

  4.   

    将这段代码放在你的iframe中<script>
    function oTestConn(url){
    timer=1;
    this.url=url;
    this.myFunc=myFunc;
    this.testConn=function(){
    window.setTimeout("timer++",100);
    var oImg=document.createElement("img");
    oImg.src="http://" + url + "/" + Math.random();
    oImg.onerror=this.myFunc;
    }
    function myFunc(){
    alert("时间" + timer/10 + "秒");
    }
    }
    var aa=new oTestConn(window.location.hostname);
    aa.myFunc=function(){window.location.reload()};
    window.setTimeout("aa.testConn();",10000)
    //10秒钟后,如果网络连接正常则刷新页面,可以自己更改时间间隔
    </script>
      

  5.   

    上面的代码每隔10秒检查一次网络连接,如果正常则执行myFunc()。
      

  6.   

    算了,都不行,自己做一个了。当然,分还是要给的!呵呵
    <script>
    var test_v1 = '0';
    function linkToOnline()
    {
    document.all.conntest.src='4.gif';
    if (test_v1 == 1) {
    alert('Error');
    }
    }var test_v = 0;
    function test()
    {
    if (test_v == 1) {
    test_v1 = '1';
    }
    test_v = 1;
    }
    </script>
    <img id=conntest src='' onError=test()>
    <script>
    linkToOnline();
    </script>
      

  7.   

    告诉你一个绝对安全的方法:再加一个iframe(iframe2),但是大小为0*0,你在主页面用定时刷新的方法(不是iframe自己刷新,否则一次连接失败将不再更新)刷新这个iframe,这个iframe将执行以下方法:
    var tempStr = "[被动态更新的内容...]";
    parent.frames["iframe1"].body.innerHTML = tempStr;这样如果页面读出来了就更新iframe1的内容,如果连接失败,更新语句不执行,iframe1的东西根本就不会动不用费尽心思的去检测网络了