2012-04-05 8 views
1

ユーザーは1.phpです。 sumbitフォームが2.phpにリダイレクトされた後。ここでブラウザの「戻る」ボタンを使用した場合は、3.phpページにリダイレクトします。 =>:ブラウザの戻るボタンの前のページを設定します

  • 1.php =>
  • 3.php [ヘッダ(2.php位置)] [フォームを送信]のようなものについてどの

  • 2.php

答えて

1

あなたはしません。これはウェブページのコントロールから外れており、それは良いことです。

ウェブサイトをブラウザで制御して、「戻る」を押したときに移動しなかったページにリダイレクトすることができれば、気になりません。私の最初の本能は、何かが非常に間違っていると思うので、ウイルススキャンなどをすることです。ユーザーはどのように反応しますか?

編集:あなたは、提案された解決策で質問を編集しました:「どのようなものについて:1.php [フォームを送信] => 3.php [ヘッダー(所在地:2.php)] => 2 .php "

HTTPヘッダーを使用すると、一部のブラウザーがヒストリー内の1ページにマージすることがあります。 JavaScriptのリダイレクトを使用すると、ブラウザがマージするほどスマートにならないため、これを行うと動作します。あなたは状態を追跡する必要があります(ユーザーがフォームを送信したか、また戻るだけですか?)、Cache-Controlヘッダーが正しく設定されていることを確認する必要があります(no-cache)ので、ブラウザは3.phpをキャッシュしません。私は、あなたが1.phpからフォームを提出するか、2.phpから戻ってくるかによって、そのページが同じように見えてはならないと思います。

しかし、あなたが途中で3.phpを全く持っておらず、同じ状態追跡とCache-Controlを1.phpで実行した場合、同等の結果が得られます。したがって、3 .phpはまったくありません。

+1

「これはWebページの制御から外れました」 - これ以上は真実ではありません。 ['window.onpopstate()'](https://developer.mozilla.org/en/DOM/window.onpopstate)を参照してください。 OPがやりたいことがやりたいことは悪い考えであり、実装が非常に難しいことは事実ですが、可能な限りはそうです。 – DaveRandom

1

セッションを使用します。最後のページをセッション変数に保存し、ユーザーが戻るボタンを押すと、コードはその変数を読み取り、リダイレクトする必要があります。

しかし、履歴やものは考慮しないでください。

また、history.jsを試してみることもできます(私はまだその解決策を探していますが)。

関連する問題