私は ajax 呼び出しを使用して、スリープ経由で 40 秒待機してから出力する php スクリプトを呼び出していますRELOAD
。JavaScript では、出力が であることがチェックされRELOAD
、そうであれば呼び出しが再開されます。
これは、私がこれを使用するすべてのページで非常にうまく機能します。しかし、Firefox では、特定のケースで 1 つの問題があります。
これらの呼び出しを行うこのページにいるので、リンクをクリックして別のページに移動します。その後、履歴 (戻る) ボタンをクリックして戻ります。この場合、呼び出しは開始されますが、firefox は結果をキャッシュしたようで、すぐに を出力しますRELOAD
。これにより、ロードに数ミリ秒しかかからない呼び出しが発生し、実際のコンテンツは取得されません。サーバーにも接続しません(ajax呼び出しが行われている間にphpファイルを変更しましたが、効果はありませんでした)。
そのため、Firefox は、戻るボタン (または ) を使用する場合にのみjavascript:history.back()
、キャッシュされた出力を使用するようです。ページを通常どおり (リンクを介して、またはアドレス バーに URL を入力して) ロードすると、呼び出しはサーバーに正しく到達し、実際のコンテンツを取得します。
PHP または JavaScript からこの動作を上書きする方法はありますか? を使用jQuery.ajax()
しており、" " オプションを設定していcache:false
ます。
ご協力ありがとうございました!