当前位置: 代码迷 >> JavaScript >> 怎么用javascript关闭由父窗口打开的所有弹出窗口,具体详见文章内容
  详细解决方案

怎么用javascript关闭由父窗口打开的所有弹出窗口,具体详见文章内容

热度:359   发布时间:2012-02-08 19:52:21.0
如何用javascript关闭由父窗口打开的所有弹出窗口,具体详见文章内容。
在ASP页面中, 如何用javascript关闭由父窗口打开的弹出窗口;意思就是在关闭父窗口的同时把和该域名相关的弹出窗口都关闭? 请各位高手不吝赐教!!!
比如: http://test.com.cn/bin/default.asp 页面中打开aa.asp,bb.asp , 当default.asp的页面过了一定的时间后会自动跳转到系统登陆的页面 login.asp, 要求就是当default.asp页面跳转的之前,将 aa.asp,bb.asp先关闭。 如何用javascript 实现? 
附上我的源代码:
<script language ="javascript">
  window.document.body.onload= function(){doClose();};
  function doClose()
  {  
  var c=1;  
  setInterval("if(c--<=0){OpenRedirect()}",5000)  
  document.onmousemove=new Function("c=1");  
  document.onkeydown=new Function("c=1");
  }  
  function OpenRedirect()
  {
  //要求在此加入代码,跳转之前关闭有default.asp页面打开的aa.asp .bb.asp
  window.location.href="../../logout.asp";
  }  
</script>

------解决方案--------------------
<A HREF="#" onclick="pop=window.open('','','')">link</A>
<A HREF="#" onclick="if(pop&&!pop.closed)pop.close()">close</A>
原理:就是把打开窗口的句柄保存起来,就可以关闭了。
------解决方案--------------------
HTML code
<script language ="javascript" >
var childs = new Array();
function open1(){
    var child = window.open('b.htm','','');
    childs = childs.concat(child);
}
window.onunload=function(){
    for(var i=0,j=childs.length;i<j;i++){
        if(childs[i] != null && !childs[i].closed) childs[i].close();
    }
}
</script >
<input onclick="open1();" type='button' value='打开' />

------解决方案--------------------
JScript code

<script language ="javascript" >
var childs = new Array();
function open1(){
    var child = window.open('b.htm','','');
    childs = childs.concat(child);
}
window.onunload=function(){
    for(var i=0,j=childs.length;i<j;i++){
        if(childs[i] != null && !childs[i].closed) childs[i].close();
    }
}
</script >
<input onclick="open1();" type='button' value='打开' /> 
  相关解决方案