Internet Explorer 9 で ActiveX コントロールが正常にバージョンアップされないことがある

現象
Internet Explorer 9 を利用していると、Web サイト上で利用されている ActiveX コントロールが Web サーバー上でバージョンアップされた場合でも、新しいバージョンの ActiveX コントロールをダウンロード/インストールせずに、古いバージョンの ActiveX コントロールを使用することがあります。
原因
本現象は Internet Explorer 9 のキャッシュ機能の向上に起因して発生します。

Internet Explorer 9 は以前のバージョンの Internet Explorer と比較し、よりキャッシュを利用するよう開発が行われました。ダウンロード対象の ActiveX コントロールのキャッシュがローカルに存在しかつ有効期限内である場合、新しいバージョンの ActiveX コントロールの存在確認を Web サーバーに対して行わずに、キャッシュに保存された古いバージョンの ActiveX コントロールを使用する場合があります。その結果、Web サイト上では新しいバージョンの ActiveX コントロールを配置したにも関わらず、古いバージョンの ActiveX コントロールが使用される現象が発生します。

解決方法
回避策
以下のいずれかの方法で毎回 Web サーバーと通信して新しいバージョンの ActiveX コントロールを使用することができます。
  • Web サーバー側での対応:

方法1. ActiveX コントロールの応答ヘッダーに "Expires: -1" または "Cache-Control: max-age=0" を指定する

これにより、ブラウザで ActiveX コントロールのキャッシュが有効期限切れの状態となるため、次回のコンテンツ取得時に必ず Web サーバーと通信します。Web サーバー側でこれらの設定を行う方法は Web サーバーソフトウェアによって異なるため、Web サーバーの管理者に問い合わせるかドキュメント等を参照してください。

方法2. コンテンツ内の object 要素の codebase 属性にて指定するバージョン値として "#Version=-1,-1,-1,-1" を指定する

これにより、次回のコンテンツ取得時に、キャッシュに保存済みの ActiveX コントロールの更新日時と Web サーバー上に配置している ActiveX コントロールの更新日時を比較し、Web サーバー上の ActiveXコントロールの更新日時が新しい場合、ActiveX コントロールをダウンロードする動作となります。
  • Internet Explorer 側での対応: 
方法3. Internet Explorer 9 で [Web サイトを表示するたびに確認する] に設定する


本設定によりキャッシュに ActiveX コントロールが存在し有効期限内であっても Web サーバーと通信します。具体的な設定方法は以下のとおりです。

1. Internet Explorer 9 を起動しメニューが表示されていない場合 [Alt] キーを押してメニューを表示します。
2. [ツール] - [インターネットオプション] メニューを選択します。
3. [全般] タブの [閲覧の履歴] の [設定] ボタンをクリックします。
4. [インターネット一時ファイルと履歴の設定] で [インターネット一時ファイル] の [保存しているページの新しいバージョンがあるかどうかの確認] を [Web サイトを表示するたびに確認する] に設定します。 
状況
マイクロソフトはこの現象を Internet Explorer 9 の問題として認識しています。 

詳細
通常の HTML コンテンツであれば本動作はキャッシュをより有効に使用するため有益です。OBJECT タグのバージョン番号を更新した場合は強制的に更新する動作が望ましい動作です。
関連情報
2530998 Internet Explorer 9 において Webサーバーとの通信なしでキャッシュからコンテンツを表示する場合がある

http://support.microsoft.com/kb/2530998/ja
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2814533 - 最終更新日: 02/19/2013 01:48:00 - リビジョン: 2.0

Windows Internet Explorer 9

  • kbtshoot kbbug kbnofix KB2814533
フィードバック