2011-06-19 6 views
2

私は次の問題があります:私は2つのWebページa.phpb.phpを持っています。最初のページにはデータベースの項目のリストが表示され、もう1つのページには項目が更新され、ユーザは前のページに戻るように送信されます(window.history.back()を使用)。バックボタンをクリックしてページを強制的に再ダウンロードする方法

a.phpからb.phpに行くと、データベース内のいくつかのエントリを更新して元に戻っても、リストを手動でリロードせずにリストは更新されません。戻るボタンのアクションの結果としてページが読み込まれ、JavaScriptでリロードされたときに検出する方法や、ブラウザに自動的に更新を指示する方法はありますか?

+0

JavaScriptを使用する理由はありますか? – 472084

+0

@Jleagle私が以下に述べたように、私はモバイル用のウェブアプリケーションを作っています。もしPHPでリダイレクトを使用していれば、それは履歴を長すぎるようにして、ユーザーが戻るボタンを何度もクリックして出なければならないようにします。 – Frxstrem

+0

PHPのリダイレクトがブラウザの履歴に追加されたとは思わなかった。理想的には、ajaxを使用してb.phpを呼び出し、成功した場合に正しいセルを更新する必要があるように思えます。 – 472084

答えて

1

どのような種類のキャッシュも禁止するようにa.phpのヘッダーを設定することができます。つまり、ブラウザはページを再読み込みするときにページを再読み込みする必要があります。

最も関連性の高いHTTP応答ヘッダーは、Cache-controlとExpiresです。

+0

私はこれを試していますが、PHPのヘッダをHTMLメタタグを使って送信しても、まだ動作しません... – Frxstrem

+0

@Frxstrem:Hmmm、strange。悲しいかな、何度も見てきたように、ほとんどのブラウザーは、標準に準拠していれば便利です。 – Piskvor

1

window.history.backを使用しないでください。 a.phpにジャンプするにはlocation.hrefを使用してください。

+0

私は 'location.href'の使用について考えましたが、私はモバイルデバイス用のウェブアプリケーションを作成しています。そして、' location.href'(または類似のもの)を使用することによって、ユーザーはちょうど戻るボタンを押す必要がありますそれから何度も出てくる。 – Frxstrem

+0

あなたは 'onPageLoad'イベントと同様のものをページに追加できますか? – Kumar

+2

もう1つの解決策は、現在のページをリロードしたり、データをそこにポストすることです。 'b.php'はそれ自身のものを実行するのではなく' a.php'をインクルードすることができます。また、ブラウザの視点からページをリロードしているため、おそらく履歴に記録されることはありません。あなたはまだ 'b.php'を持っていますが、多分それほど悪くはありません。 – GolezTrol

関連する問題