=============================
  menu.aspx
   function page_load()
      {
//      open_bbs();
//      timeout1=window.setInterval("open_bbs();",30000);
       alert('ok111');
       window.top.open('BBS_index.aspx','_blank','Width=700px;Height=1400px;status=no;help=no;toolbar=no');
       alert('ok222');
      }
     </script>
</head>
<body leftmargin="0" topmargin="0" onload="page_load();">
=====================================
mian.aspx<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<frameset border="0"  frameborder="0" framespacing="0" rows="58px,*">
    <frame name=frmTop  src="menu.aspx" noResize="noResize" scrolling="no" >
    <frame name=frmBody src= "about:blank"><noframes><p>本页面使用了框架,但您的浏览器不支持框架</p></noframes>
</frameset>
</html>

解决方案 »

  1.   

    JavaScript:如何在浏览器禁止弹出新窗口的情况下新开窗口
        近段时间一直被一件烦恼事情困扰,因为是我编好的聊天室程序重装系统后运行就不成功了。问题是这样的,我需要在用户关闭聊天窗口时执行页面exit.asp的ASP程序来从在线用户里删除该用户。当用户关闭聊天窗口(包含几个框架Frame)时,会产生一个onbeforeunload事件,我通过该事件来调用一段JavaScript函数,该函数使用window.open来打开exit.asp文件。刚开始时一切运行正常,但是由于我的电脑崩溃重装系统,重新运行时就出现问题了,当我关闭聊天窗口时,并没有打开窗口执行exit.asp文件。
    原来的相关代码如下:
    <script language=javascript>
    function exit() /*退出之前执行exit.asp退出处理页面*/
    {
    window.open("exit.asp"); 
    }
    </script>
    //下面是框架frame的开始代码
    <frameset rows="*" cols="*,155" framespacing="0" frameborder="0" border="false" onbeforeunload="exit();">
       
        我开始以为是关闭事件没有检测到,但经过测试发现关闭事件是正常的。后来估计是我重装系统后,系统由Windows2000 升级为Windows2003,现在的IE浏览器禁止弹出窗口,所以window.open失效,后来改为window.opener.location.href就正常了。修改后的相关代码如下:
    <script language=javascript>
    function exit() /*退出之前执行exit.asp退出处理页面*/
    {
    window.opener.location.href='exit.asp';
    }
    </script>
    //下面是框架frame的开始代码
    <frameset rows="*" cols="*,155" framespacing="0" frameborder="0" border="false" onbeforeunload="exit();">
        总结,如果浏览器禁止弹出新窗口,比如WindowsXP或Windows2003的浏览器就这样,那么最好使用window.opener.location.href来调用另一个窗口。如果大家有更好的方法请分享。