if(newWindow)
{
//存在
}
else
{
//不存在
}

解决方案 »

  1.   


    请相信我在提问题之前是先找了baidu和google了的,
    我不是想在本窗口判断,而是在其他窗口判断。
      

  2.   

    A弹出了B,然后A打开了C
    在C里可以用window.dialogArguments.newWindow来判断.
    但newWindow在A里是全局变量才可以
      

  3.   


    用了这个方法试了一下,但是window.dialogArguments在ff和ie7里面好像都报错了.......
      

  4.   

    窗口打开或关闭时执行函数
    onUnload="document.cookie='windowOpen=';"  onLoad="document.cookie='windowOpen=yes';" 
    加到<body>里,
    然后判断var cook=document.cookie.indexOf("windowOpen=")
    如果cook为空则窗口打开,如果cook为yes则窗口关闭
      

  5.   

    窗口打开或关闭时执行函数 
    onUnload="document.cookie='windowOpen=';"  onLoad="document.cookie='windowOpen=yes';" 
    加到<body>里, 
    然后判断var cook=document.cookie.indexOf("windowOpen=") 
    如果cook为空则窗口打开,如果cook为yes则窗口关闭 在任何页面都可以做这样的决断了
      

  6.   


    谢谢 wang521gang ,这方法确实可行!!另外一个问题,麻烦也看看:
    http://topic.csdn.net/u/20080716/17/16f83ebf-18bf-4187-a859-b68b5fe0611a.html
      

  7.   

    有人已经解决了
    不过我也把我的代码贴上来吧 a.html:
    <HTML>
     <HEAD>
      <TITLE>a.htm</TITLE> 
       <script>
         var obj;
         function init() {
           obj = window.open("b.html");
           document.getElementById("ahref").href = "c.html?newWindow="+obj.closed;
         }
       </script>
     </HEAD>
     <BODY onload="init()">
       I am a.htm!
       <a id="ahref" href="c.html">c.html</a>
     </BODY>
    </HTML> c.html:<HTML>
     <HEAD>
       <TITLE>c.html </TITLE>
       <script>
         function test() {
           var flag = GetArgsFromHrefs(location.search,"newWindow");
           if(flag) {
             alert("b.html is closed");
           } else {
             alert("b.html is still open");
           }
         }
         function GetArgsFromHrefs(sHref, sArgName) { 
           var retval = new Array();
           var args  = sHref.split("?");
           if(args[0] == sHref) /*参数为空*/
           {
             return retval; /*无需做任何处理*/
           }
           var str = args[1];
           args = str.split("&");
           for(var i = 0; i < args.length; i ++) {
            str = args[i];
            var arg = str.split("=");
            if(arg.length <= 1) continue;
            if(arg[0] == sArgName) retval[retval.length] = arg[1];
           }
           return retval;
         }
     </script>
     </HEAD>
     <BODY>
      Hello,I am c.html
      <input type="button" value="click" onclick="test()"/>
     </BODY>
    </HTML>
    b.html就不贴了,不重要.
    但是,只能判断在C界面判断一次
    如果b.html关了之后就无法判断了.
    呵呵...
    还是wang521gang兄弟的方法好.
    呵呵...
      

  8.   


    不过cook < 0 表示窗口未打开吧
    还有,onUnload="document.cookie='windowOpen=';"  onLoad="document.cookie='windowOpen=yes';" 
    这个放在哪个界面执行,是b还是c?
    wang521gang,现身解释一下
      

  9.   

    昨天偶然看见的,有请赞助一下
    判断ie6关闭还是刷新,但我没有测试。<script>
    window.onbeforeunload = function(){  
          var n = window.event.screenX - window.screenLeft;  
          var b = n > document.documentElement.scrollWidth-20;  
          if(b && window.event.clientY < 0 | | window.event.altKey){ 
          alert("关闭"); 
                  //关闭的代码 
      } 
      else{ 
          alert("刷新"); 
                  //刷新的代码 
      } 

    </script>