不能实现,主窗口打开子窗口后,子窗口是和主窗口分离的,相不互干了,这时在主窗口对子窗口进行操作当然会说“sub_Win(子窗口名字)未定义”了。
除非你用IFRAME还差不多,不过也不能关闭。
还有一种方法:
showModalDialog("你所要的相对地址","","dialogWidth:325px;status:no;dialogHeight:365px")
不过这种方法就是当你打开子窗口后一定要先关闭子窗口后才能对主窗口进行操作,不知道能不能勉强符合你的动机。

解决方案 »

  1.   

    例如有1,2两个页面:1打开2
    window.open('2.aspx','tt');在1上关闭2:
    function FindWin_Tmp(name) 

    var wo = window.open("",name,"left=100000,top=100000");   
    if(wo.location.href == "about:blank") 

    wo.close(); 
    return null;

    return wo; 

    function close2()
    {
    var wo = FindWin_Tmp('tt');
    if (wo!=null) 
    {
    alert('b');
    wo.opener=null;
    wo.window.close();
    }
    }
      

  2.   

    ???
    你修改一下你的index.htm文件
    我试以下文件是可以得
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>主窗口</title>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    var sub_Win;
    function sub_open(){
       sub_Win = window.open('sub.htm','sub_Win','');
    }function sub_close(){
       sub_Win.window.close();
    }
    //-->
    </script>
    </head><body>
    [<a href="javascript:sub_open()">打开子窗口</a>] [<a href="javascript:sub_close()">关闭子窗口</a>]
    </body>
    </html>
      

  3.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>主窗口</title>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    var oWindow;
    function sub_open(){
       oWindow=window.open('sub.htm','sub_Win','');
    }function sub_close(){
       oWindow.close();
    }
    //-->
    </script>
    </head><body>
    [<a href="javascript:sub_open()">打开子窗口</a>] [<a href="javascript:sub_close()">关闭子窗口</a>]
    </body>
    </html>
    ----------------------------------sub.htm(子窗口)包含如下内容:
    ----------------------------------
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>子窗口</title>
    </head><body>
     这是子窗口
    </body>
    </html>