2009-07-20 28 views
1

jQuery.ajax(http://docs.jquery.com/Ajax/jQuery.ajax)を使用して、別のWebページの内容を現在のページに挿入しています。これを「プレビュー」ウィンドウと考えてください。 jQueryにはオプションのキャッシュ引数があります。この引数は、同じページを再度要求するのではなく、キャッシュからコンテンツを読み込む際に効果的です。jQuery.ajax - キャッシュ強制無効化

私の問題は、挿入されているコンテンツを別の場所から編集できることです。このような場合は、ブラウザのキャッシュを無効にして、次にページのコンテンツが要求されたときにjQueryがキャッシュを使用する代わりにページを要求するようにします。キャッシュ引数をfalseに設定することはできますが、キャッシュされるコンテンツはありません。キャッシュされるコンテンツが必要で、ソースコンテンツが変更された場合にのみ再要求されます。

現在キャッシュされているウェブページを無効にするにはどうすればよいですか?

答えて

2

私の意見では、これは不可能です。 AJAX呼び出しを使用してupdate.phpを呼び出すと仮定します。キャッシュされたバージョンを使用するたびに、今すぐ使用できます。しかし、しばらくして、キャッシュされていないバージョンが必要です。キャッシュされていないバージョンを使用するようにサイトに通知する必要があります。したがって、基本的にあなたの目的を無効にするupdate.phpのキャッシュまたはキャッシュされていないバージョンをajaxが取得するかどうかをチェックする別の並列スクリプトが必要な場合があります。

あなたは、私がE-タグを使用していると思わこれを達成することができる方法は:

http://en.wikipedia.org/wiki/HTTP_ETag

+0

これは、キャッシュされた項目のリストにアクセスし、簡単にリストから項目を削除する方法がないことを意味するのでしょうか?コンテンツが変更されたかどうかを確認する代わりに、コンテンツが編集されたときに、キャッシュからページ全体を削除することもできます。 –

+0

毎回最新バージョンを取得するには、$ .ajax関数のcache:falseパラメータを設定します。 –

+0

その目的のためにEタグを使用できます - http://www.htaccesselite.com/creating-etag-headers-php-vt112.html –

関連する問題