2010-11-23 13 views
0

私は私のPHPページを読み込むときに私はいくつかのデータを追加します。例えば、MyPage.php?value =何か。 期待どおり、戻るボタンを使用して前後に移動すると、常に同じデータが追加されて読み込まれます。私はそれを望んでいない。ページが読み込まれた後、MyPage.phpだけを追加データなしで保存するように履歴を変更する必要があります。戻るボタンを使用すると、MyPage.phpのみが読み込まれます。どのように私はこれを行うことができます - javascript、jquery、PHP、何か???JavaScriptの履歴を変更する

ヒストリオブジェクトに触れることなくこれを行う方法がある場合は、それも問題ありません。私はちょうどそれがいくつかの歴史を微調整するだろうと仮定しています。クライアント側やサーバー側で調整が必要な場合もOKです。

+0

お客様は、ブラウザの履歴を**機能**とみなしている可能性があります。無効にしたい場合でも、ブラウザは使用できない可能性があり、最終的にはブラウザがあなたのコンピュータではなくコンピュータ上で動作しています。 –

答えて

1

私が知る限り、そのような履歴を微調整することはできません。また、これに対処する良い方法でもありません。

クッキーを使用して、ページが2回以上読み込まれたときを判断したり、セッション変数にデータを格納したり、処理が完了したらデータを削除することができます。

1

データがGETメソッドを使用して追加されると仮定します。 POSTを使用すると、MyPage.phpの後にテキストは追加されませんが、ページにデータを渡すことはできます。

0

歴史は歴史です。それを変更するにはちょっとしたハックです(そうした場合は、おそらく他の問題もあります)。

クエリーストリングをまったく持たず、jsまたはサーバー側のロジックを使用してアクションを判断するか、jsまたはサーバー側のロジックで2番目のリクエストを無視することをお勧めします。

0

あなたが履歴を微調整しても問題がなければ、おそらくこれを調べることができます。

history.replaceState({}, document.title, "MyPage.php"); 

これにより、現在のwindow.locationがページリフレッシュなしで "MyPage.php"に書き換えられます。

関連する問題