if(window.parent.opener){
     没有关闭
}else{
     已经关闭
}

解决方案 »

  1.   

    if(window.parent.opener){
        没有关闭
    }else{
        已经关闭
    }
      

  2.   

    应该是if(window.parent.opener.close()) 这个吧?没有用过,哈哈
    或者是window.parent.opener = "undefine" ? 感觉很无厘头了
      

  3.   

    window.parent.opener.closed?"关了":"没关"
      

  4.   

    var meizz = window.parent.opener;if (typeof(meizz)!="undefined" && !meizz.closed)
    {
        ;//
    }
      

  5.   

    function shutwin()
    {
         var wp = window.parent.opener;
            if(wp!=null && typeof(wp) != "undefined" && !wp.closed)
            {     
                if (wp.document.forms[0].txtRefreshParent != null)
                {
                    wp.document.forms[0].txtRefreshParent.value="Refresh";
                }
                else
                {
                   if(wp.document.forms[0].ctl00_MainPlaceHolder_txtRefreshParent!=null)
                   {
                       wp.document.forms[0].ctl00_MainPlaceHolder_txtRefreshParent.value="Refresh";
                   }
                }
                wp.document.forms[0].submit();
            }
        window.parent.close();
    }
    事实上wp已经关闭,但是wp.closed为什么等于true呢,且typeof(wp)="object",为什么???
      

  6.   

    事实上wp已经关闭,但是wp.closed为什么等于true呢,且typeof(wp)="object",为什么???
    看来搂住已经实践了一把,上面的结果也是可以理解的,我胡乱抛下砖,高手再继续。
    wp = window.parent.opener;
    wp一个window的引用,一般window如果关闭,那么这个window本身已经销毁了,原则上对应的object就不存在了。但是这只是在单个页面的情况下。
    而这里wp的子页面还存在,因此子页面的window对象还存在,而这个window对象中还保存着对wp的引用(即window.parent.opener),尽管在wp的环境对象中,其自身已经是undefined,但是在子页面中window.parent.opener仍然存在,应该是一个null的object(也许不是null),因此wp.closed为true。
    解释得有点牵强呵呵。
      

  7.   

    问题已经解决,方案如下:
    function shutwin()
    {
        try
        {
             var wp = window.parent.opener;
                if(wp!=null)
                {   
                    window.parent.close(); 
                    if (wp.document.forms[0].txtRefreshParent != null)
                    {
                        wp.document.forms[0].txtRefreshParent.value="Refresh";
                    }
                    else
                    {
                       if(wp.document.forms[0].ctl00_MainPlaceHolder_txtRefreshParent!=null)
                       {
                           wp.document.forms[0].ctl00_MainPlaceHolder_txtRefreshParent.value="Refresh";
                       }
                    }
                       wp.document.forms[0].submit();
                }
                
        }
        catch (exc)
            {
                if (exc.number == -2146828218)//异常:“没有权限”
                {
                    return;
                }
                else
                {
                    throw exc;
                }
            }
    }
      

  8.   

    详细的看了exception,最后找出了这个方案,已经用这个方案顺利解决了。