ブラウザの戻るボタンを使用した場合に前画面が表示されない

489 views
Skip to first unread message

hirose

unread,
Aug 17, 2011, 7:26:31 AM8/17/11
to 日本Symfonyユーザー会
お疲れ様です。広瀬と申します。

Symfony1.4にて開発を行なっております。
ブラウザの戻るボタンを使用した場合について質問させていただきます。

【内容】
ブラウザの戻るボタンを使用した場合に、前画面が表示されない現象が起きてしまいます。
トピック(1階層)→トピック(2階層)→トピック(3階層)....と画面遷移していくのですが、
その時にブラウザの戻るボタンを押した場合、前画面のトピックが表示されず
ずっとローディング中のままになってしまいます。

※選択されたトピックのコードをURLに付加して、次画面で表示するトピック情報をDBから抽出しています。
※front(ログイン認証なし)とfront2(ログイン認証あり)で同じような画面遷移があるのですが、
  認証ありのfront2では問題なく戻るボタンが動作するのですが、認証も関係してくるのでしょうか?

ご説明が分かり難い部分もあるかと思いますが、ご指摘頂ければ応答させて頂きますので
どうかご教示の程よろしくお願いします。

brtriver

unread,
Aug 17, 2011, 7:57:28 AM8/17/11
to symfony-...@googlegroups.com
前田です。

直観ですが、サーバーもしくはブラウザのキャッシュがなんらか影響しているんじゃないかと思います。
認証ありというのがhttps内の遷移であれば、なおその可能性が高いかと。

no-cacheなどのレスポンスを返すようにしてみてはどうでしょうか?
# レスポンスヘッダのキャッシュがどうなっているかなどを見ると何か見えてくるかもしれません。

2011年8月17日20:26 hirose <yoshina...@infofarm.co.jp>:

> --
> -------------------
> Symfonyに関する疑問・質問、ユーザー会の活動やサイトに対するご意見、その他雑談など、お気軽にMLへ投稿してください!
>
>
> 日本Symfonyユーザー会
> http://www.symfony.gr.jp/
>
> 日本Symfonyユーザー会メーリングリスト
> http://groups.google.com/group/symfony-users-ja
>

hirose

unread,
Aug 17, 2011, 8:50:30 PM8/17/11
to 日本Symfonyユーザー会
お疲れ様です。広瀬です。
ご返事ありがとうございます。

前田さんが仰っているように、認証ありのアプリケーションでは全てhttps内で動いています。
また、ブラウザのキャッシュですが、入力画面→確認画面→完了画面の遷移で、
ブラウザの戻るボタンが押された場合、有効期限切れの画面やフォームの再送信が発生してしまうので、
これを回避する為に下記のコーディングを行なっております。

※-------------------------------------------
session_start();
header( ' Expires:-1' );
header( ' Cache-Control:' );
header( ' Pragma' );
---------------------------------------------
という記述をテンプレートにしています。
このブラウザキャッシュの無効化を無効化している中でトピックの遷移も行なっているので、
やはりこの記述が影響しているのでしょうか?

※参考元
http://fdays.blogspot.com/2010/11/php-web.html

On 8月17日, 午後8:57, brtriver <brt.ri...@gmail.com> wrote:
> 前田です。
>
> 直観ですが、サーバーもしくはブラウザのキャッシュがなんらか影響しているんじゃないかと思います。
> 認証ありというのがhttps内の遷移であれば、なおその可能性が高いかと。
>
> no-cacheなどのレスポンスを返すようにしてみてはどうでしょうか?
> # レスポンスヘッダのキャッシュがどうなっているかなどを見ると何か見えてくるかもしれません。
>
> 2011年8月17日20:26 hirose <yoshinao.hir...@infofarm.co.jp>:
Reply all
Reply to author
Forward
0 new messages