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.name1 つの解決策は、プロパティを使用することです。別のライブラリもこれを使用しようとすると、このソリューションが競合につながる可能性があることを私は知っています。しかし、私はクッキーを使用するよりもこれを好みます。(ローカル ストレージの使用を検討することもできます)

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_upjavascriptコードが実行されます。

于 2013-02-04T11:57:58.470 に答える