新米iPhoneアプリ開発者(自称)の開発奮闘記

iPhoneアプリ開発(自称)3ヶ月目の悪戦苦闘を記して行きます。

キャッシュされたJavascriptが予期せぬ不具合を出す Internet Explorer 9の問題

キャッシュされたJavascriptが予期せぬ不具合を出す Internet Explorer 9の問題

Internet Explorer 9 において Webサーバーとの通信なしでキャッシュからコンテンツを表示する場合がある

http://support.microsoft.com/kb/2530998/ja

[インターネット一時ファイルと履歴の設定] で [自動的に確認する] が設定されている (既定値)
Web サーバーと通信せずキャッシュされたコンテンツを表示する場合があります。
本現象は Internet Explorer 9 の仕様です。

Web サーバー側での対応
コンテンツのHTTP Header やMeta タグでCache-control: no-cache もしくは max-age=0を指定

Internet Explorer 側での対応
Internet Explorer 9 で [Web サイトを表示するたびにに確認する] に設定する

Pumpkin Moonshine JavaScriptCSSの更新時にキャッシュから読ませない

http://yuki.silk.to/2006/04/000170.html

プログラマ「プログラムを更新しました」
テスター「いきなりエラーがでますよ!動作確認したんですか!」
プログラマ「え、私のところでは動くけど…、キャッシュクリアしました?」
テスター「キャッシュをクリアしたらエラーがでなくなりました」
テスター「でも、ユーザ全員にキャッシュをクリアさせるの?」

Internet Explorer 9に乗り換えてみた – 新・ブログの館

http://dc800eb.blog77.fc2.com/blog-entry-3902.html

おぬしもサルじゃのぉ(^o^)日記 IE9のキャッシュ問題とその対応

http://aboutlinda.blog.fc2.com/blog-entry-64.html

■対応策(画面そのもの)
 (1)

1
<meta http-equiv="Pragma" content="no-cache"/>;

 (2)

1
<meta http-equiv="Cache-Control" content="no-cache"/>

 (3)

1
<meta http-equiv="Expires" content="0"/>

■対応策(外部js,cssの読み込み)

現行:

1
2
<link href="hogehoge.css" rel="stylesheet" type="text/css"/>;
<script src="hogehoge.js" language="javascript"type="text/javascript"></script>;

この指定方法だと、(IE9のデフォルト設定の場合)キャッシュが勝つ。

対応後:

1
2
<link href="hogehoge.css?20130101" rel="stylesheet" type="text/css"/>
<script src="hogehoge.js?20130101" language="javascript"type="text/javascript"></script>

 外部ファイルを引数(変動)付きで読み込むこと