- - PR -
ブラウザの戻るボタンをクリックしてページを戻したときの動作について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-08-09 12:00
こんにちは
環境:WinXP+VS2003、VBで作成しています 状況: test1.aspxからtest3.aspxへ移動するページを作成 test1.aspxにはtest2.aspxを子画面としてポップアップさせる test1.aspxからtext2.aspxを子画面として開き、子画面を閉じる、 その後、test3.aspxへページ遷移後、ブラウザの戻るをクリックすると test1.aspxと共に、test2.aspxもポップアップしてしまう。 コード: test1.aspx 'ページ遷移用 Private Sub LinkButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton2.Click Response.Redirect("test3.aspx") End Sub 'ページポップアップ用 Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click ' 取得した名称を格納するコントロールへのパスを作成する Dim cntl As System.Web.UI.Control = CType(sender, WebControl) Dim strScript As New System.Text.StringBuilder strScript.Append("<script language=javascript>") strScript.Append("var features = 'Height=400,Width=300,scrollbars=yes,resizable=yes") strScript.Append(",toolbar=no,location=no,directories=no,status=no,menubar=no") strScript.Append(",alwaysRaised=yes,dependent=yes") strScript.Append("';") strScript.AppendFormat("window.open('test2.aspx?target={0}','self',features);", cntl.ClientID) strScript.Append("</script>") Page.RegisterStartupScript("openwindow", strScript.ToString) End Sub ブラウザの戻るボタンを押したときにポップアップを出さなくする方法を ご教授いただきたいと思います。 よろしくお願いします。 |
|
投稿日時: 2004-08-09 12:37
まず、なぜポップアップが出てくるのか、それを知ってください。
それを知っているなら、答えも出ているでしょう? |
|
投稿日時: 2004-08-09 13:36
Jittaさん返信ありがとうございます。
戻るをクリックしたときには <script language=javascript>var features 〜中略〜 <script> が書き出されている状態だからですよね。 戻るをクリックしたときにJavaScriptが 書かれて無い状態にすればよいと思うのですが。 答えわからないです。。。 ※ページポップアップ用のコードはJittaさんのWWWを参考にさせていただきました。 ※ありがとうございます。 |
|
投稿日時: 2004-08-09 16:07
う〜ん?その、「書かれている状態」というのは、“どこから”持ってくるのでしょう?
サーバからスクリプトを書き出します。クライアントは、それをキャッシュします。戻るボタンをクリックすると、クライアントは“キャッシュから”ページを持ってきます。したがって、戻るボタンで「書き出されていない」ページを持ってくることはできないのです。 右上の「検索」をクリックして、検索文字列を「戻る(スペース)ボタン」、Insider.NET会議室の中から探す、をしてみてください。「戻る」ボタンを無効にするには、という質問が2〜3あります。どれも回答は「できません」となっています。 ただし、「キャッシュ」という点に注目し、「キャッシュの有効期間」を設定することで、ブラウザに「有効期限が切れています」というメッセージを出させることはできます。けれども、この方法でも、ページを取得する為の情報を再提出して、「書き出された」ページをもらってくるので、やはりポップアップが表示されます。 この方法にプラスして、セッション情報に「今どのページまで進んでいるか」を持たせ、「戻る」ボタンで戻ったと思われる時には別のページへ飛ばす、ということは、できるかもしれません。 |
1