布局是这样的:
我一个<DIV>里嵌套了一个<IFrame>,这个<IFrame>的Src指定了一个网页。这个网页执行一个setTimeout( "", 1000 )函数。情况:
当我用removeChild( <DIV>(创建的div) ) 删除这个<DIV>时, 这个<DIV>确实是在窗口中消失了, 但是<DIV>对应的那个<IFrame>Src指定网页却还在一直运行。 即这个Src指定网页没有被删除。问题:
我怎样才能在removeChild掉<DIV>后,同时那个Src指定的网页也被删除???

解决方案 »

  1.   

    如果你这个删除还要处理其它的话,那只能单独给这个写个删除。删除之前 重写 src到空白页,然后再删
      

  2.   

    你必须先clear掉那个timeout:
    a.htm
    test......
    <script>
    var a = window.setTimeout("alert('test')",3000);
    </script>rd.htm
    <div id="test"><iframe src="a.htm"></iframe></div>
    <input type="button" value="removediv" onclick="removediv();">
    <script language="javascript" type="text/javascript">
    function removediv(){
    var obj = document.getElementById("test");
    window.frames[0].clearTimeout(window.frames[0].a);
    document.body.removeChild(obj);
    }
    </script>
      

  3.   

    或者如楼上所说,先重定向iframe的location:
    function removediv(){
    window.frames[0].location = "about:blank";
    var obj = document.getElementById("test");
    document.body.removeChild(obj);
    }
      

  4.   

    clear掉那个timeout  
    那那个嵌入的网页应该还没删除吧。。如果用window.frames[0].location = "about:blank"; 那那个网页的还存在那个<IFrame>里吧,只不过这个网页指向的是一个空网页,但是这个指向空的网页还是会占用一定的内存资源吧, 怎样才能让他不占用内存资源呢???
      

  5.   

    你初始化的时候这样写定时循环var 定时器 = setTimeout.......清除 clearTimeout(定时器)然后重写Iframe的 location再remove