如何关闭父窗口中的弹出窗口?

时间:2011-08-01 13:23:23

标签: c# javascript asp.net

我需要关闭一个由父窗口加载的弹出窗口。

此弹出窗口是我的webapp中的Documentviewer窗口。

我需要通过单击母版页中的注销按钮来关闭此查看器。

我的代码:

public string MySession //server side code

{
    get 
    {
        if (Session["RegID"] != null)
        {
            return Session["RegID"].ToString();
        }
        else
        {
            return "";
        }
    }

}


//client side code
   $(window).load(function() {

      Start();
   });


    function Start()
    {
      timedCount();
      var t=setTimeout("Start()",10000);
    }


   function timedCount()
   { 
     /*var out="<%=Session["RegID"]%>";*/


      var out='<%=MySession%>'; 
      if(out!="")
      {
        alert(out);       
      }else
      {
        window.close();
      }

   }

服务器代码仅在第一次执行。

我的目标是在用户退出时关闭弹出窗口。

2 个答案:

答案 0 :(得分:2)

您的父页面上可能有这样的内容:

window.open(...);

如果您将其更改为:

var popup = window.open(...);

然后您可以随时通过编码关闭它:

popup.close();

http://jsfiddle.net/pimvdb/bjkNx/1/

答案 1 :(得分:0)

将弹出窗口放在全局变量中:

<script>
    var popupWindow;

    function openw(url) {
        popupWindow = window.open(url, "popup", "");
    }

    function closew() {
        if (popupWindow) {
            popupWindow.close();
        }
    }

</script>
<a href="javascript:openw('about:blank')">open</a><br />
<a href="javascript:closew()">close</a>