2

我在我的网站中使用了弹出窗口。问题是,当我打开一个弹出窗口并转到另一个页面然后返回上一页时,弹出窗口将刷新并再次打开!没有任何压力!我该如何解决?我希望通过返回该页面不会再次出现此弹出窗口。

这是我的弹出代码:

.......
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.min.js" ></script>  
<script type='text/javascript' src='jquery-1.2.3.min.js'></script>
<script type='text/javascript' src='menu.js'></script>

  <script type="text/javascript">
      function pop_up(url) {
          newwindow = window.open(url, 'name', 'height=517,width=885,scrollbars=yes,toolbar=no,menubar=no,resizable=yes,location=no,directories=no,status=no,titlebar=no,left=400,top=120');
          if (window.focus) { newwindow.focus() }
          return false;
      }
    </script>


<link href="style.css" rel="stylesheet" type="text/css" />

    <style type="text/css">
        .style2
        {
.......

和后面的代码:

Page.ClientScript.RegisterStartupScript(GetType(), "popup", "pop_up('" + "PopUpEmailing.aspx" + "');", true);
4

2 回答 2

1

一种解决方案是使用该window.name属性。我知道如果另一个库也尝试使用此解决方案,则此解决方案可能会导致冲突。但我更喜欢这个,而不是使用 cookie。(您也可以考虑使用本地存储)

function displayPopUp() {
    if( window.name != "popup-displayed" ) {
        window.name = "popup-displayed";
        ... popup code ...
    }
}
于 2013-02-04T10:40:22.970 回答
0

而不是使用Page.ClientScript.RegisterStartupScript 尝试以下。

<asp:Button runat="server" ID="btnTest" Text="My Button" OnClientClick="pop_up('" + "PopUpEmailing.aspx" + "')"><asp:Button>

上面将创建一个按钮,当单击该按钮时,将调用客户端事件,它将运行您的 pop_up javascript 代码。

于 2013-02-04T11:57:58.470 回答