在一些低版本的IE浏览器中,当用open()函数打开一个窗口的时候,如果这个窗口中有使用iframe引入其他页面,尽管打开的窗口被关闭,但是iframe引入页面的内存也不会释放,下面就分享一段能够解决此问题的代码。

代码如下:
   [ bootstrap ] 运行代码    下载代码
<!DOCTYPE html><html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://www.51qianduan.com/" />
<title>51前端</title>
<script type="text/javascript">
function unloadHandler(notip){
  // 取消窗口关闭时的监听事件
  document.getElementsByTagName("body")[0].onbeforeunload = null;
  var el = document.getElementById("scanIf");
  if(el){
    el.src = "";
    setTimeout(cycleClear, 100);
    return "提示:请点击取消按钮,当前窗口会自动关闭。";
  }
  return true;
}
  
function cycleClear(){
  try {
    var el = document.getElementById("scanIf");
    if(el){
      el.contentWindow.document.write('');
      el.contentWindow.document.clear();
      var p = el.parentNode;
      p.removeChild(el);
    }
    window.close();
  } 
  catch (e) {
    setTimeout(cycleClear, 100);
  }
}
window.onload=function(){
  window.onbeforeunload=function(){
    return unloadHandler();
  }
}
</script>
</head>
<body>
<iframe id="scanIf" width="800px" height="600px" src = "https://www.51qianduan.com"></iframe>
</body>
</HTML>

代码描述:IE浏览器iframe 内存不释放。IE浏览器iframe内存不释放代码实例



118 157



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到