1

ユーザーが戻るボタンをクリックしたときに、前のページから表示されたポップアップウィンドウがブラウザで開かないようにするにはどうすればよいですか?

それが理にかなっていることを願っていますが、以下のポイント形式で説明します。

Page1、Page2、Page3の3つのページがあります

  1. ユーザーはPage1をロードし、リンクをクリックしてJavaScriptを使用して新しいウィンドウ(つまりwindow.open(...))にPage2をロードします。ユーザーはいつでもPage2を閉じることができますが、ステップ2の前に閉じると想定します。

  2. ユーザーは、Page1のリンクをクリックしてPage3をロードします。

  3. ユーザーはPage3にアクセスし、ブラウザの[戻る]ボタンをクリックします。

  4. Page1はブラウザに表示されますが、Page2はポップアップウィンドウに再度表示されます。

それで、Page2が再びポップアップするのを防ぐ方法があるかどうか疑問に思います。重要な場合は、クラシックASPも使用しています。

4

3 に答える 3

2

リンクをクリックした結果として Page2 が開かれる場合、戻るボタンをクリックすると自動的に開かれるのはどのような仕組みですか? Page1 の初期ロード時に Page2 が自動的に開かれない限り、[戻る] ボタンが押されたためにページ 2 がポップアップすることはありません。[戻る] を押しても、前のページのリンクはクリックされません。あなたのページで何か他のことが起こっていると思われます。コードを確認できますか?

于 2010-06-05T19:02:10.277 に答える
1

ページはそれ自体にリダイレクトされ、JavaScriptコードを挿入して、前に押されたボタンに基づいて新しいウィンドウをポップアップしていました。postまたはgetメソッドを介してこれを決定したと思います。今は忘れています。

そのため、ユーザーが戻るボタンを押すと、元のページではなく、埋め込まれたjavascriptコードでページがリロードされます。

それ以来、従来のASPを残しているため、提案を実際にテストすることはできませんが、助けていただければ幸いです。

于 2010-12-13T17:01:07.033 に答える
1

ページ2でセッション変数を作成してみてください。page1を開いたときに存在するかどうかを確認します。またはCookieを使用します。

編集:

Function IsPostBack()
    IsPostBack = (Request.ServerVariables("REQUEST_METHOD") = "POST")
End Function

ただし、これはページの更新を検出しません。

于 2010-07-06T18:18:21.983 に答える