2011-10-25 8 views
2

JavaScriptを使用してキャッシュされた特定の画像を再読み込みすることは可能ですか?キャッシュされた画像をJavaScriptでリロードする

私のサイトでは、ユーザーは新しいアバターをアップロードできます。これが行われた後、私はブラウザに新しいアバターを再ダウンロードさせ、ユーザーは変更が行われたことを知ることができます。

瞬間、私はこのようにそれをやっている:

$('profilePic').src = 'flash/userImage.ashx?id=12345677&type=avatar&t=' + new Date().getTime() 

idと照会のタイプに基づいて画像を返すuserImage.ashx。 't'パラメータは使用しません。これはURLが異なるだけなので、イメージがリロードされます。

これは、ユーザーが新しいアバターをアップロードするページでは問題なく動作しますが、サイト上の他の場所ではキャッシュされたイメージを使用します。

私はユーザーのアバターのキャッシングをオフにすることができますが、これは本当にしたくありません。特定のキャッシュされたイメージを強制的にリロードすることは可能ですか?

答えて

3

たぶんのETagでキャッシュがソリューションです:別のユーザーがアバターの更新後にページをロード http://en.wikipedia.org/wiki/HTTP_ETag

、彼はイメージのための要求を送信したETagがETagのは、サーバー上で生成されたよりも異なっており、したがって、304の代わりに200の応答が得られるはずなので、イメージは再ロードされます。

関連する問題