arison.jp arison.jp blog - 現在をたのしく、未来をたのしむ。日常の思い出兼備忘録。

キャッシュされた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 JavaScriptやCSSの更新時にキャッシュから読ませない
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)

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

 (2)

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

 (3)

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

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

現行:

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

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

対応後:

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

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

About arison

大都会岡山の南部にある玉野市生まれ。 大都会岡山のIT会社(目標は大都会No.1)でコンピュータとお客を相手に日夜格闘中。 関東出張中はグルメブログ。 基本的に遊び人のおっさん。 ライフハックとガンダム好き。ギガフロート玉野を浸透中。

23. 4月 2013 by arison
Categories: 仕事, プログラミング | Tags: , | Leave a comment

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください