サーバー上で定期的に更新される画像を更新したいので、次のように読み込みます。
var img = new Image();
img.onload = myCallback;
img.src = imageUrl;
imageUrl は常に同じであり、これらの HTTP ヘッダーを設定して、画像を読み込もうとするたびにブラウザーが新しい要求を発行するように強制します。
Cache-Control: public,max-age=0
Expires: -1
Last-modified: Mon, 21 Nov 2008 01:03:33 GMT
ETag: 1234
ただし、Chrome でのみ機能します。Firefox、Opera、IE、および Safari は、最初にサーバーにリクエストを送信するだけで、その後は常にキャッシュされた画像を取得します。
img.src = '' を myCallback に追加すると、Opera と IE では動作しますが、Firefox と Safari では動作しません (Firefox 11 のみを試しました)。
URL にランダムなクエリ文字列を追加することもできますが、ほとんどの場合、サーバーは 304 Not modified で応答するため、より多くの帯域幅を消費します。
Firefox で動作させる方法はありますか?