ふろしき Blog

コンテンツサービスを科学する株式会社ブートストラップ代表のブログ

互換表示機能をWindowsレジストリを利用して無効化する方法(IE8/IE9/IE10/IE11)

IEには「互換表示ボタン」や「互換表示一覧(リスト)」を通じて、サイトのドメインごとに互換表示機能の有効/無効を切り替える機能を持っています。

企業システムでの用途の場合、この機能をIEの利用者側で制御して欲しくないという要望もあるでしょう。この場合、Windows(XP/7)のレジストリ編集により対策することが可能です。ただし、X-UA-Compatibleによるブラウザモード制御や、イントラネット互換表示機能までは本設定による影響を与えません。

本記事では、Windowsレジストリを利用した互換表示機能の無効化方法について説明します。

  1. 設定方法
  2. 確認方法

(※ 以下の手順は、WindowsXPも7も共通です。)

1. 設定方法

[Winキー]+[R]で「ファイル名を指定して実行」ウィンドウを開きます。名前に「regedit」を入力し、「OK」ボタンをクリックして下さい。
f:id:furoshiki0223:20131125032747p:plain

「HKEY_CURRENT_USER\Software\Policies\Microsoft」へ移動します。
f:id:furoshiki0223:20131125050940p:plain

1.1. キー「Internet Explorer」を登録

※「Internet Explorer」が既に作成されている場合は、本手順は不要です。

「Microsoft」を右クリック、「新規(N)」→「キー(K)」を選択。
f:id:furoshiki0223:20131125033526p:plain

「Internet Explorer」と入力し、Enterキーを押下。(※InternetとExplorerの間は半角スペース)
f:id:furoshiki0223:20131125033535p:plain

1.2. キー「BrowserEmulation」を登録

※ 「BrowserEmulation」が既に作成されている場合は、本手順は不要です。

「Internet Explorer」を右クリック、「新規(N)」→「キー(K)」を選択。
f:id:furoshiki0223:20131125033909p:plain

「BrowserEmulation」と入力し、Enterキーを押下。(※BrowserとEmulationの間にはスペース無し)
f:id:furoshiki0223:20131125034023p:plain

1.3. 「DisableSiteListEditing」を登録

「BrowserEmulation」を左クリックで選択し、右のウィンドウの開いているスペースで右クリック。「新規(N)」→「DWORD値」を選択。Windows7の場合は、32bit版を選択して下さい。
f:id:furoshiki0223:20131125034210p:plain

「DisableSiteListEditing」と入力し、Enterキーを押下。
f:id:furoshiki0223:20131125034322p:plain

「DisableSiteListEditing」をダブルクリックし、「値のデータ(V)」へ「1」と半角で入力、「OK」をクリック。
f:id:furoshiki0223:20131125034417p:plain

これで完了です。F5を押下し更新するとより良いでしょう。

2. 確認方法

IEを一度再起動し、「ツール」→「互換表示設定」を開いて下さい。(※IE9/10の場合は、Altキーを押下すると、コマンドバーが出現しツールを選択できるようになります。)

以下のように、「このWebサイトの追加(D)」と「互換表示に追加したWebサイト(W)」の両方の右にあるボタンが非アクティブであれば、設定は正常に反映されています。

f:id:furoshiki0223:20131125034543p:plain

IE11のX-UA-Compatibleの使い方/動作仕様

IE11では、X-UA-Compatibleという制御パラメータを利用し、過去のWebブラウザの機能をエミュレートさせることができます。

本記事では、X-UA-Compatibleの利用方法について解説します。

  1. 動作の仕様
  2. 設定方法
    1. HTMLドキュメント内にX-UA-Compatibleを追加する
    2. ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する
    3. IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

1. 動作仕様

  • IE=EmulateIE11 : 常にIE11モードとして動作する。
  • IE=EmulateIE10 : 常にIE10モードとして動作する。(※製品不具合)
  • IE=EmulateIE9 : DOCTYPE宣言に応じて、IE9モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE8 : DOCTYPE宣言に応じて、IE8モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE7 : DOCTYPE宣言に応じて、IE7モードかQuirksモード(IE5)を選択する。
  • IE=11 : 必ずIE11モードを選択する。
  • IE=10 : 必ずIE10モードを選択する。
  • IE=9 : 必ずIE9モードを選択する。
  • IE=8 : 必ずIE8モードを選択する。
  • IE=7 : 必ずIE7モードを選択する。
  • IE=5 : 必ずIE5モードとして動作する。

>> IE10のDOCTYPEスイッチによるStandard/Quirksモードの切り替え一覧表

2. 設定方法

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。

★ HTMLドキュメント内にX-UA-Compatibleを追加する

HTMLドキュメント内で記述する場合は、head要素内の比較的最初で以下を定義します。

<meta http-equiv="X-UA-Compatible" content="IE=11">

★ ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

RHEL/CentOS/FedoraでApache HTTP Serverを利用している場合は、「/etc/httpd/httpd.conf」にて、一番最後に以下の内容を追記して下さい。

LoadModule headers_module modules/mod_headers.so
<IfModule headers_module>
   Header set X-UA-Compatible: IE=11
</IfModule>

Apacheに「mod_headers.so」がバンドルされていない場合はエラーになります。予め、インストールして下さい。

★ IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

MicrosoftのWindows系OSで「インターネット インフォメーション サービス(IIS)」を利用している場合は、以下の手順になります。

「コンピュータの管理」→「インターネット インフォメーション サービス(IIS) マネージャー」
f:id:furoshiki0223:20131112210814p:plain

「HTTP応答ヘッダー」
f:id:furoshiki0223:20131112210923p:plain
表示内で右クリック、「追記」を左クリック
f:id:furoshiki0223:20131112211023p:plain
「名前(N):」へ「X-UA-Compatible」、「値(V):」へ「IE=11」
f:id:furoshiki0223:20131125014426p:plain

IE10のX-UA-Compatibleの使い方/動作仕様

IE10では、X-UA-Compatibleという制御パラメータを利用し、過去のWebブラウザの機能をエミュレートさせることができます。

本記事では、X-UA-Compatibleの利用方法について解説します。

  1. 動作の仕様
  2. 設定方法
    1. HTMLドキュメント内にX-UA-Compatibleを追加する
    2. ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する
    3. IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

1. 動作仕様

  • IE=EmulateIE10 : DOCTYPE宣言に応じて、IE10モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE9 : DOCTYPE宣言に応じて、IE9モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE8 : DOCTYPE宣言に応じて、IE8モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE7 : DOCTYPE宣言に応じて、IE7モードかQuirksモード(IE5)を選択する。
  • IE=10 : 必ずIE10モードを選択する。
  • IE=9 : 必ずIE9モードを選択する。
  • IE=8 : 必ずIE8モードを選択する。
  • IE=7 : 必ずIE7モードを選択する。
  • IE=5 : IE5 quirksモードとして動作する。(※IE10の通常のQuirksモードはIE5とは互換性がないため、特殊なQuirksモードが動作する。)

>> IE10のDOCTYPEスイッチによるStandard/Quirksモードの切り替え一覧表

2. 設定方法

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。

★ HTMLドキュメント内にX-UA-Compatibleを追加する

HTMLドキュメント内で記述する場合は、head要素内の比較的最初で以下を定義します。

<meta http-equiv="X-UA-Compatible" content="IE=10">

★ ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

RHEL/CentOS/FedoraでApache HTTP Serverを利用している場合は、「/etc/httpd/httpd.conf」にて、一番最後に以下の内容を追記して下さい。

LoadModule headers_module modules/mod_headers.so
<IfModule headers_module>
   Header set X-UA-Compatible: IE=10
</IfModule>

Apacheに「mod_headers.so」がバンドルされていない場合はエラーになります。予め、インストールして下さい。

★ IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

MicrosoftのWindows系OSで「インターネット インフォメーション サービス(IIS)」を利用している場合は、以下の手順になります。

「コンピュータの管理」→「インターネット インフォメーション サービス(IIS) マネージャー」
f:id:furoshiki0223:20131112210814p:plain

「HTTP応答ヘッダー」
f:id:furoshiki0223:20131112210923p:plain
表示内で右クリック、「追記」を左クリック
f:id:furoshiki0223:20131112211023p:plain
「名前(N):」へ「X-UA-Compatible」、「値(V):」へ「IE=10」
f:id:furoshiki0223:20131124004901p:plain

IE9のX-UA-Compatibleの使い方/動作仕様

IE9では、X-UA-Compatibleという制御パラメータを利用し、過去のWebブラウザの機能をエミュレートさせることができます。

本記事では、X-UA-Compatibleの利用方法について解説します。

  1. 動作の仕様
  2. 設定方法
    1. HTMLドキュメント内にX-UA-Compatibleを追加する
    2. ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する
    3. IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

1. 動作仕様

  • IE=EmulateIE9 : DOCTYPE宣言に応じて、IE9モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE8 : DOCTYPE宣言に応じて、IE8モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE7 : DOCTYPE宣言に応じて、IE7モードかQuirksモード(IE5)を選択する。
  • IE=9 : 必ずIE9モードを選択する。
  • IE=8 : 必ずIE8モードを選択する。
  • IE=7 : 必ずIE7モードを選択する。
  • IE=5 : Quirks(IE5の互換動作)モードとして動作する。

>> IE9のDOCTYPEスイッチによるStandard/Quirksモードの切り替え一覧表

2. 設定方法

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。

★ HTMLドキュメント内にX-UA-Compatibleを追加する

HTMLドキュメント内で記述する場合は、head要素内の比較的最初で以下を定義します。

<meta http-equiv="X-UA-Compatible" content="IE=9">

★ ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

RHEL/CentOS/FedoraでApache HTTP Serverを利用している場合は、「/etc/httpd/httpd.conf」にて、一番最後に以下の内容を追記して下さい。

LoadModule headers_module modules/mod_headers.so
<IfModule headers_module>
   Header set X-UA-Compatible: IE=9
</IfModule>

Apacheに「mod_headers.so」がバンドルされていない場合はエラーになります。予め、インストールして下さい。

★ IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

MicrosoftのWindows系OSで「インターネット インフォメーション サービス(IIS)」を利用している場合は、以下の手順になります。

「コンピュータの管理」→「インターネット インフォメーション サービス(IIS) マネージャー」
f:id:furoshiki0223:20131112210814p:plain

「HTTP応答ヘッダー」
f:id:furoshiki0223:20131112210923p:plain
表示内で右クリック、「追記」を左クリック
f:id:furoshiki0223:20131112211023p:plain
「名前(N):」へ「X-UA-Compatible」、「値(V):」へ「IE=9」
f:id:furoshiki0223:20131124040219p:plain

IE8のX-UA-Compatibleの使い方/動作仕様

IE8では、X-UA-Compatibleという制御パラメータを利用し、過去のWebブラウザの機能をエミュレートさせることができます。

本記事では、X-UA-Compatibleの利用方法について解説します。

  1. 動作の仕様
  2. 設定方法
    1. HTMLドキュメント内にX-UA-Compatibleを追加する
    2. ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する
    3. IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

1. 動作仕様

  • IE=EmulateIE8 : DOCTYPE宣言に応じて、IE8モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE7 : DOCTYPE宣言に応じて、IE7モードかQuirksモード(IE5)を選択する。
  • IE=8 : 必ずIE8モードを選択する。
  • IE=7 : 必ずIE7モードを選択する。
  • IE=5 : Quirks(IE5の互換動作)モードとして動作する。

>> IE8のDOCTYPEスイッチによるStandard/Quirksモードの切り替え一覧表

2. 設定方法

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。

★ HTMLドキュメント内にX-UA-Compatibleを追加する

HTMLドキュメント内で記述する場合は、head要素内の比較的最初で以下を定義します。

<meta http-equiv="X-UA-Compatible" content="IE=8">

★ ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

RHEL/CentOS/FedoraでApache HTTP Serverを利用している場合は、「/etc/httpd/httpd.conf」にて、一番最後に以下の内容を追記して下さい。

LoadModule headers_module modules/mod_headers.so
<IfModule headers_module>
   Header set X-UA-Compatible: IE=8
</IfModule>

Apacheに「mod_headers.so」がバンドルされていない場合はエラーになります。予め、インストールして下さい。

★ IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

MicrosoftのWindows系OSで「インターネット インフォメーション サービス(IIS)」を利用している場合は、以下の手順になります。

「コンピュータの管理」→「インターネット インフォメーション サービス(IIS) マネージャー」
f:id:furoshiki0223:20131112210814p:plain

「HTTP応答ヘッダー」
f:id:furoshiki0223:20131112210923p:plain
表示内で右クリック、「追記」を左クリック
f:id:furoshiki0223:20131112211023p:plain
「名前(N):」へ「X-UA-Compatible」、「値(V):」へ「IE=8」
f:id:furoshiki0223:20131124033723p:plain

IE11のEmulateIE10(X-UA-Compatible)でDOCTYPEスイッチに不具合がある(→仕様でした)

(※ 本ドキュメントは古い情報です。正確な仕様は、こちらを参照して下さい。)

IE10までは、「X-UA-Compatible」に対して、「IE=EmulateIE」で指定された対象バージョンのドキュメントモードでは、DOCTYPEスイッチの条件に従いQuirksモードへの切り替えを行っていました。

「IE=EmulateIE10」と指定した場合、Microsoftの公開している仕様に準ずるなら、以下のURLのDOCTYPEスイッチの条件に従う必要があるはずです。

IE10のDOCTYPEスイッチによるStandard/Quirksモードの切り替え一覧表

↓ Microsoftの提供するEmulateIEの仕様
X-UA-Compatibility Meta Tag and HTTP Response Header - Microsoft Developer Network

しかしIE11では、「IE=EmulateIE10」の場合に限り、DOCTYPE宣言を確認せず常にIE10として動作するという不具合があります。これを改善するには、Quirksモードとして動作が必要なWebコンテンツに対して、「IE=EmulateIE9」以下を指定するか「IE=5」と直接指定することで対処する必要があります。

※2013/11/24 : この不具合は、筆者がMicrosoft Connectへ報告しています。
IE11 - BUG / DOCTYPE switch does not work, when I use "IE=EmulateIE10". - Microsoft Connect
※2013/11/27 : えむけい氏の指摘により、本動作は仕様であることが確認されました。

IE11の互換表示リスト(互換表示一覧)の使い方/動作仕様

IE11には、正常な動作が行えない古いWebコンテンツを利用できるようにするために、「互換表示リスト(互換表示一覧)」という機能が提供されています。

本記事では、「互換表示リスト(互換表示一覧)」の動作仕様について説明します。

  1. 互換表示設定から追加
  2. リストに追加すると何が起こるのか?
  3. 互換表示リストの設定内容を無効化させる方法

1. 互換表示設定から追加

Altキーを押下すると、コマンドバーが表示されます。その後、以下の手順に沿って入力して下さい。
f:id:furoshiki0223:20131124063653p:plain
ウィンドウ「互換表示設定」が表示されるので、以下を設定します。
f:id:furoshiki0223:20131124063706p:plain

※ IE8〜10には「互換表示ボタン」という機能があり、これを利用すれば互換表示リストへの登録が簡単に行えましたが、11からは削除されています。

2. リストに追加すると何が起こるのか?

常に、IE7 Standardモード(IE7の機能のエミュレート)として動作します。

3. 互換表示リストの設定内容を無効化させる方法

★ ドメイン単位での無効化(開発者向け)

X-UA-Compatibleへ以下の値を設定すると、互換表示リストへの追加は無視されます。

  • IE=EmulateIE11 : 最新のレンダリングエンジンで動作。
  • IE=EmulateIE10 : IE10モードで動作。(※製品の不具合動作)
  • IE=EmulateIE9 : DOCTYPE宣言に応じて、IE9モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE8 : DOCTYPE宣言に応じて、IE8モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE7 : DOCTYPE宣言に応じて、IE7モードかQuirksモード(IE5)を選択する。
  • IE=11 : 最新のレンダリングエンジンで動作
  • IE=10 : IE10の機能をエミュレートするレンダリングエンジンで動作
  • IE=9 : IE9の機能をエミュレートするレンダリングエンジンで動作
  • IE=8 : IE8の機能をエミュレートするレンダリングエンジンで動作
  • IE=5 : IE5の機能をエミュレートするレンダリングエンジン(Quirksモード)で動作

IE11には一部不具合が含まれていますが、Quirksモードへの遷移条件はIE10と同じです。
>> IE10のDOCTYPEスイッチによるStandard/Quirksモードの切り替え

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。設定の方法は、以下を参照して下さい。

>> IE11のX-UA-Compatibleの使い方/動作仕様

★ 全てのリストを無効化(IT管理者向け)

Windowsレジストリを利用して、無効化する方法もあります。

>> 互換表示機能をWindowsレジストリを利用して無効化する方法

IE10の互換表示リスト(互換表示一覧)の使い方/動作仕様

IE10には、正常な動作が行えない古いWebコンテンツを利用できるようにするために、「互換表示リスト(互換表示一覧)」という機能が提供されています。

本記事では、「互換表示リスト(互換表示一覧)」の動作仕様について説明します。

  1. 設定方法1 - 互換表示ボタンからの追加
  2. 設定方法2 - 互換表示設定から追加
  3. リストに追加すると何が起こるのか?
  4. リストへ追加されても、互換表示させない方法

1. 設定方法1 - 互換表示ボタンからの追加

アドレスバーの右にある、割れたアイコンのボタンをクリックして下さい。

f:id:furoshiki0223:20131124035233p:plain

>> (詳細はこちら)IE10の互換表示ボタンの使い方/動作仕様

※互換表示ボタンがアドレスバーの横に表示されない場合、次の手順が必要です。

2. 設定方法2 - 互換表示設定から追加

Altキーを押下すると、コマンドバーが表示されます。その後、以下の手順に沿って入力して下さい。
f:id:furoshiki0223:20131124063653p:plain
ウィンドウ「互換表示設定」が表示されるので、以下を設定します。
f:id:furoshiki0223:20131124063706p:plain

3. リストに追加すると何が起こるのか?

動作モードに応じて、以下のような振る舞いをします。

  • Standardモードの場合 : IE7 Standardモード(IE7の機能のエミュレート)として動作します。
  • Quirksモードの場合 : IE5 quirksモード(IE5の機能のエミュレート)として動作します。(※デフォルトのQuirksモードは、IE5と完全な互換性を持ちません。)

StandardモードとQuirksモードについては、以下のドキュメントを参照して下さい。
>> IE10のDOCTYPEスイッチによるStandard/Quirksモードの切り替え

4. リストへ追加されても、互換表示させない方法

★ ドメイン単位での無効化(開発者向け)

X-UA-Compatibleへ以下の値を設定すると、互換表示リストへの追加は無視されます。

  • IE=EmulateIE10 : DOCTYPE宣言に応じて、IE10モードかQuirksモード(IE5)を選択する。(※実質的無効化)
  • IE=EmulateIE9 : DOCTYPE宣言に応じて、IE9モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE8 : DOCTYPE宣言に応じて、IE8モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE7 : DOCTYPE宣言に応じて、IE7モードかQuirksモード(IE5)を選択する。
  • IE=10 : 最新のレンダリングエンジンで動作
  • IE=9 : IE9の機能をエミュレートするレンダリングエンジンで動作
  • IE=8 : IE8の機能をエミュレートするレンダリングエンジンで動作
  • IE=5 : IE5の機能をエミュレートするレンダリングエンジン(Quirksモード)で動作

>> IE10のDOCTYPEスイッチによるStandard/Quirksモードの切り替え

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。設定は、以下を参照して下さい。

>> IE10のX-UA-Compatibleの使い方/動作仕様

★ 全てのリストを無効化(IT管理者向け)

Windowsレジストリを利用して、無効化する方法もあります。

>> 互換表示機能をWindowsレジストリを利用して無効化する方法

IE9の互換表示リスト(互換表示一覧)の使い方/動作仕様

IE9には、正常な動作が行えない古いWebコンテンツを利用できるようにするために、「互換表示リスト(互換表示一覧)」という機能が提供されています。

本記事では、「互換表示リスト(互換表示一覧)」の動作仕様について説明します。

  1. 設定方法1 - 互換表示ボタンからの追加
  2. 設定方法2 - 互換表示設定から追加
  3. リストに追加すると何が起こるのか?
  4. 互換表示リストの設定内容を無効化させる方法

1. 設定方法1 - 互換表示ボタンからの追加

アドレスバーの右にある、割れたアイコンのボタンをクリックして下さい。

f:id:furoshiki0223:20131124035233p:plain

>> (詳細はこちら)IE9の互換表示ボタンの使い方/動作仕様

※互換表示ボタンがアドレスバーの横に表示されない場合、次の手順が必要です。

2. 設定方法2 - 互換表示設定から追加

Altキーを押下すると、コマンドバーが表示されます。その後、以下の手順に沿って入力して下さい。
f:id:furoshiki0223:20131124063653p:plain
ウィンドウ「互換表示設定」が表示されるので、以下を設定します。
f:id:furoshiki0223:20131124063706p:plain

3. リストに追加すると何が起こるのか?

動作モードに応じて、以下のような振る舞いをします。

  • Standardモードの場合 : IE7 Standardモード(IE7の機能のエミュレート)として動作します。
  • Quirksモードの場合 : Quirksモード(IE5の機能のエミュレート)のままです。変化しません。

StandardモードとQuirksモードについては、以下のドキュメントを参照して下さい。
>> IE9のDOCTYPEスイッチによるStandard/Quirksモードの切り替え

4. リストへ追加されても、互換表示させない方法

★ ドメイン単位での無効化(開発者向け)

X-UA-Compatibleへ以下の値を設定すると、互換表示リストへの追加は無視されます。

  • IE=EmulateIE9 : DOCTYPE宣言に応じて、IE9モードかQuirksモード(IE5)を選択する。(※実質的無効化)
  • IE=EmulateIE8 : DOCTYPE宣言に応じて、IE8モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE7 : DOCTYPE宣言に応じて、IE7モードかQuirksモード(IE5)を選択する。
  • IE=9 : 最新のレンダリングエンジンで動作
  • IE=8 : IE8の機能をエミュレートするレンダリングエンジンで動作
  • IE=5 : IE5の機能をエミュレートするレンダリングエンジン(Quirksモード)で動作

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。設定には、以下のページを参考にして下さい。

IE9のX-UA-Compatibleの使い方/動作仕様

★ 全てのリストを無効化(IT管理者向け)

Windowsレジストリを利用して、無効化する方法もあります。

>> 互換表示機能をWindowsレジストリを利用して無効化する方法

IE8の互換表示リスト(互換表示一覧)の使い方/動作仕様

IE8には、正常な動作が行えない古いWebコンテンツを利用できるようにするために、「互換表示リスト(互換表示一覧)」という機能が提供されています。

本記事では、「互換表示リスト(互換表示一覧)」の動作仕様について説明します。

  1. 設定方法1 - 互換表示ボタンからの追加
  2. 設定方法2 - 互換表示設定から追加
  3. リストに追加すると何が起こるのか?
  4. 互換表示リストの設定内容を無効化させる方法

1. 設定方法1 - 互換表示ボタンからの追加

アドレスバーの右にある、割れたアイコンのボタンをクリックして下さい。

f:id:furoshiki0223:20131124031736p:plain

>> (詳細はこちら)IE8の互換表示ボタンの使い方/動作仕様

※互換表示ボタンがアドレスバーの横に表示されない場合、次の手順が必要です。

2. 設定方法2 - 互換表示設定から追加

f:id:furoshiki0223:20131124060017p:plain
※ウィンドウ上方にこのバーが見当たらない場合、「表示(V)」→「ツール バー(T)」→「コマンド バー(C)」にチェックを入れて下さい。

f:id:furoshiki0223:20131124060032p:plain

3. リストに追加すると何が起こるのか?

Quirksモード(IE5の機能のエミュレート)として動作します。(※2013.12.17:誤りでした)
IE7モードとして動作します。

4. 互換表示リストの設定内容を無効化させる方法

★ ドメイン単位での無効化(開発者向け)

互換表示リストは、X-UA-Compatibleと競合した場合、X-UA-Compatibleの内容を優先するという特性を持ちます。この制御パラメータを利用することで、設定内容を無効化させることができます。

  • IE=EmulateIE8 : DOCTYPE宣言に応じて、IE8モードかQuirksモード(IE5)を選択する。
  • IE=EmulateIE7 : DOCTYPE宣言に応じて、IE7モードかQuirksモード(IE5)を選択する。
  • IE=8 : 必ずIE8モードを選択する。
  • IE=7 : 必ずIE7モードを選択する。

>> IE8のDOCTYPEスイッチによるStandard/Quirksモードの切り替え一覧表

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。詳しくは、以下のドキュメントを参考にして下さい。

>> IE8のX-UA-Compatibleの使い方/動作仕様

★ 全てのリストを無効化(IT管理者向け)

Windowsレジストリを利用して、無効化する方法もあります。

>> 互換表示機能をWindowsレジストリを利用して無効化する方法

IE10の互換表示ボタンの使い方/動作仕様

IE10には、正常な動作が行えない古いWebコンテンツを利用できるようにするために、「互換表示ボタン」という機能が提供されています。

本記事では、IE10の動作仕様について説明します。

  1. 互換表示のオン・オフについて
  2. 有効だと何が変わるのか?
  3. いつ表示されるのか?
  4. 互換表示ボタンの無効化

1. 互換表示のオン・オフについて

アドレスバーの右の割れているアイコンのボタンをクリックすることで、互換表示は有効になります。

f:id:furoshiki0223:20131124035233p:plain

2. 有効だと何が変わるのか?

動作モードに応じて、以下のような振る舞いをします。

  • Standardモードの場合 : IE7 Standardモード(IE7の機能のエミュレート)として動作します。
  • Quirksモードの場合 : IE5 quirksモード(IE5の機能のエミュレート)として動作します。(※デフォルトのQuirksモードは、IE5と完全な互換性を持ちません。)

StandardモードとQuirksモードについては、以下のドキュメントを参照して下さい。
>> IE10のDOCTYPEスイッチによるStandard/Quirksモードの切り替え

3. いつ表示されるのか?

互換表示ボタンは、X-UA-Compatibeの指定がないか、以下の条件に該当しないパラメータが指定された場合のみ表示されます。

  • IE=EmulateIE7〜10 (例:IE=EmulateIE10)
  • IE=数字 (例:IE=10 / IE=100000)

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。

★ HTMLドキュメント内にX-UA-Compatibleを追加する

HTMLドキュメント内で記述する場合は、head要素内の比較的最初で以下を定義します。

<meta http-equiv="X-UA-Compatible" content="IE=10">

★ ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

RHEL/CentOS/FedoraでApache HTTP Serverを利用している場合は、「/etc/httpd/httpd.conf」にて、一番最後に以下の内容を追記して下さい。

LoadModule headers_module modules/mod_headers.so
<IfModule headers_module>
   Header set X-UA-Compatible: IE=10
</IfModule>

Apacheに「mod_headers.so」がバンドルされていない場合はエラーになります。予め、インストールして下さい。

★ IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

MicrosoftのWindows系OSで「インターネット インフォメーション サービス(IIS)」を利用している場合は、以下の手順になります。

「コンピュータの管理」→「インターネット インフォメーション サービス(IIS) マネージャー」
f:id:furoshiki0223:20131112210814p:plain

「HTTP応答ヘッダー」
f:id:furoshiki0223:20131112210923p:plain
表示内で右クリック、「追記」を左クリック
f:id:furoshiki0223:20131112211023p:plain
「名前(N):」へ「X-UA-Compatible」、「値(V):」へ「IE=10」
f:id:furoshiki0223:20131124042509p:plain

4. 互換表示ボタンの無効化

★ 互換表示ボタンのみを無効化

Windowsのレジストリを編集すると、互換表示ボタンを無効化することもできます。
(※WindowsXP/7も共通です。)

[Winキー]+[R]で「名前を指定して実行」ウィンドウを開き、「regedit」と入力して下さい。
f:id:furoshiki0223:20131125030127p:plain

「HKEY_CURRENT_USER\Software\Policies\Microsoft」へ移動します。

「Microsoft」を選択し、「編集(E)」→「新規(N)」→「キー(K)」と選択、「Internet Explorer」で新しいキーを作成します。
f:id:furoshiki0223:20131125010838p:plain

「Internet Explorer」を選択し、「編集(E)」→「新規(N)」→「キー(K)」と選択、「CommandBar」で新しいキーを作成します。
f:id:furoshiki0223:20131125010847p:plain

右のウィンドウをクリック、「新規(N)」→「DWORD(32ビット)値(D)」を選択、「ShowCompatibilityViewButton」で作成すれば完了です。IEを再起動すれば、消えます。
f:id:furoshiki0223:20131125010858p:plain
f:id:furoshiki0223:20131125010904p:plain

IE9の互換表示ボタンの使い方/動作仕様

IE9には、正常な動作が行えない古いWebコンテンツを利用できるようにするために、「互換表示ボタン」という機能が提供されています。

本記事では、IE9の動作仕様について説明します。

  1. 互換表示のオン・オフについて
  2. 有効だと何が変わるのか?
  3. いつ表示されるのか?
  4. 互換表示ボタンの無効化

1. 互換表示のオン・オフについて

アドレスバーの右の割れているアイコンのボタンをクリックすることで、互換表示は有効になります。

f:id:furoshiki0223:20131124035233p:plain

2. 有効だと何が変わるのか?

動作モードに応じて、以下のような振る舞いをします。

  • Standardモードの場合 : IE7 Standardモード(IE7の機能のエミュレート)として動作します。
  • Quirksモードの場合 : Quirksモード(IE5の機能のエミュレート)のままです。変化しません。

StandardモードとQuirksモードについては、以下のドキュメントを参照して下さい。
>> IE9のDOCTYPEスイッチによるStandard/Quirksモードの切り替え

3. いつ表示されるのか?

互換表示ボタンは、X-UA-Compatibeの指定がないか、以下の条件に該当しないパラメータが指定された場合のみ表示されます。

  • IE=EmulateIE7〜9 (例:IE=EmulateIE9)
  • IE=数字 (例:IE=9 / IE=100000)

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。設定は、以下のドキュメントを参照して下さい。

>> IE9のX-UA-Compatibleの使い方/動作仕様

4. 互換表示ボタンの無効化

★ 互換表示ボタンのみを無効化

Windowsのレジストリを編集すると、互換表示ボタンを無効化することもできます。
(※WindowsXP/7も共通です。)

[Winキー]+[R]で「名前を指定して実行」ウィンドウを開き、「regedit」と入力して下さい。
f:id:furoshiki0223:20131125030127p:plain

「HKEY_CURRENT_USER\Software\Policies\Microsoft」へ移動します。

「Microsoft」を選択し、「編集(E)」→「新規(N)」→「キー(K)」と選択、「Internet Explorer」で新しいキーを作成します。
f:id:furoshiki0223:20131125010838p:plain

「Internet Explorer」を選択し、「編集(E)」→「新規(N)」→「キー(K)」と選択、「CommandBar」で新しいキーを作成します。
f:id:furoshiki0223:20131125010847p:plain

右のウィンドウをクリック、「新規(N)」→「DWORD(32ビット)値(D)」を選択、「ShowCompatibilityViewButton」で作成すれば完了です。IEを再起動すれば、消えます。
f:id:furoshiki0223:20131125010858p:plain
f:id:furoshiki0223:20131125010904p:plain

IE8の互換表示ボタンの使い方/動作仕様

IE8には、正常な動作が行えない古いWebコンテンツを利用できるようにするために、「互換表示ボタン」という機能が提供されています。

本記事では、IE8の動作仕様について説明します。

  1. 互換表示のオン・オフについて
  2. 有効だと何が変わるのか?
  3. いつ表示されるのか?
  4. 互換表示ボタンの無効化

1. 互換表示のオン・オフについて

アドレスバーの右の割れているアイコンのボタンをクリックすることで、互換表示は有効になります。

f:id:furoshiki0223:20131124031736p:plain

2. 有効だと何が変わるのか?

常にIE7モードとして動作します。

3. いつ表示されるのか?

互換表示ボタンは、X-UA-Compatibeの指定がないか、以下の条件に該当しないパラメータが指定された場合のみ表示されます。

  • IE=EmulateIE7〜8 (例:IE=EmulateIE8)
  • IE=5以上の数字 (例:IE=8 / IE=10)

X-UA-Compatibleの設定は、HTMLドキュメント上で設定するか、HTTP レスポンスヘッダで設定するかのどちらかを選択できます。

★ HTMLドキュメント内にX-UA-Compatibleを追加する

HTMLドキュメント内で記述する場合は、head要素内の比較的最初で以下を定義します。

<meta http-equiv="X-UA-Compatible" content="IE=8">

★ ApacheでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

RHEL/CentOS/FedoraでApache HTTP Serverを利用している場合は、「/etc/httpd/httpd.conf」にて、一番最後に以下の内容を追記して下さい。

LoadModule headers_module modules/mod_headers.so
<IfModule headers_module>
   Header set X-UA-Compatible: IE=8
</IfModule>

Apacheに「mod_headers.so」がバンドルされていない場合はエラーになります。予め、インストールして下さい。

★ IISでHTTPレスポンスヘッダにX-UA-Compatibleを追加する

MicrosoftのWindows系OSで「インターネット インフォメーション サービス(IIS)」を利用している場合は、以下の手順になります。

「コンピュータの管理」→「インターネット インフォメーション サービス(IIS) マネージャー」
f:id:furoshiki0223:20131112210814p:plain

「HTTP応答ヘッダー」
f:id:furoshiki0223:20131112210923p:plain
表示内で右クリック、「追記」を左クリック
f:id:furoshiki0223:20131112211023p:plain
「名前(N):」へ「X-UA-Compatible」、「値(V):」へ「IE=8」
f:id:furoshiki0223:20131124033723p:plain

4. 互換表示ボタンの無効化

★ 互換表示ボタンのみを無効化

Windowsのレジストリを編集すると、互換表示ボタンを無効化することもできます。
(※WindowsXP/7も共通です。)

[Winキー]+[R]で「名前を指定して実行」ウィンドウを開き、「regedit」と入力して下さい。
f:id:furoshiki0223:20131125030127p:plain

「HKEY_CURRENT_USER\Software\Policies\Microsoft」へ移動します。

「Microsoft」を選択し、「編集(E)」→「新規(N)」→「キー(K)」と選択、「Internet Explorer」で新しいキーを作成します。
f:id:furoshiki0223:20131125010838p:plain

「Internet Explorer」を選択し、「編集(E)」→「新規(N)」→「キー(K)」と選択、「CommandBar」で新しいキーを作成します。
f:id:furoshiki0223:20131125010847p:plain

右のウィンドウをクリック、「新規(N)」→「DWORD(32ビット)値(D)」を選択、「ShowCompatibilityViewButton」で作成すれば完了です。IEを再起動すれば、消えます。
f:id:furoshiki0223:20131125010858p:plain
f:id:furoshiki0223:20131125010904p:plain

IE10のDOCTYPEスイッチによるStandard/Quirksモードの切り替え一覧表

IE10には、古いIEの動作とHTML5との相互運用を可能としたレンダリングエンジンとして動作するQuirksモードと、最新のレンダリングエンジンとして動作するStandardモードがあります。HTMLドキュメントの一番上でのDOCTYPE宣言を行うことにより切り替えを行います。

IE10の場合、「X-UA-Compatibe」へ「IE=EmulateIE」というパラメータを与えることにより、過去のIEの動作を再現させることができます。EmulateIEは、5/7/8/9の3種類を持っています。5を指定すると常に「Quirksモード」として動作しますが、7/8/9の場合、DOCTYPE宣言の内容によって「Quirksモード」か「IE7/8/9 Standardモード」のどちらかへ遷移します。

▼ HTMLドキュメント内で宣言する場合

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />

▼ HTTP Response Headerで指定する場合

X-UA-Compatible:IE=EmulateIE9

EmulateIEを指定した場合もそうでない場合も、Quirksモードへの判定条件は変化しません。このため、本記事ではEmulateIEを指定している状態で、IE7/8/9 Standardモードになる場合も「Standardモード」として扱います。

DOCTYPEスイッチ一覧

Quirksモードを「Q」、Standardモードを「S」と表記します。

HTML1系

Q 無し

HTML2系

Q <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
Q <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
S <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML i18n//EN">

HTML3系

Q <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
Q <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
Q <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

HTML4系

Q <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Q <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

XHTML1系

S <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
S <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
S <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
S <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
S <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

HTML5系

S <!DOCTYPE html>

IE5 quirksモードについて

IE6〜10までのQuirksモードはIE5の動作を再現するためにありましたが、IE10からは方針を変更し、HTML5標準との相互運用を行うための仕様変更が行われました。このため、公式的にIE5とは互換性がなくなっています。

代替の手段として、IE10にはIE5の動作を再現させる「IE5 quirksモード」という別のドキュメントモードを用意しています。これを利用すれば、以前のQuirksモードと同じ動作を再現させることが可能です。

対策には、以下のリンクを参照して下さい。

>> IE6〜9とIE10とでQuirksモードの動作が違う、どうすれば解決できるか?

IE9のDOCTYPEスイッチによるStandard/Quirksモードの切り替え一覧表

IE9には、IE5の動作を再現させるQuirksモードと、最新のレンダリングエンジンとして動作するStandardモードがあります。HTMLドキュメントの一番上でのDOCTYPE宣言を行うことにより切り替えを行います。

IE9の場合、「X-UA-Compatibe」へ「IE=EmulateIE」というパラメータを与えることにより、過去のIEの動作を再現させることができます。EmulateIEは、5/7/8の3種類を持っています。5を指定すると常に「Quirksモード」として動作しますが、7/8の場合、DOCTYPE宣言の内容によって「Quirksモード」か「IE7/8 Standardモード」のどちらかへ遷移します。

▼ HTMLドキュメント内で宣言する場合

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

▼ HTTP Response Headerで指定する場合

X-UA-Compatible:IE=EmulateIE8

EmulateIEを指定した場合もそうでない場合も、Quirksモードへの判定条件は変化しません。このため、本記事ではEmulateIEを指定している状態で、IE7/8 Standardモードになる場合も「Standardモード」として扱います。

DOCTYPEスイッチ一覧

Quirksモードを「Q」、Standardモードを「S」と表記します。

HTML1系

Q 無し

HTML2系

Q <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
Q <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
S <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML i18n//EN">

HTML3系

Q <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
Q <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
Q <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

HTML4系

Q <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Q <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

XHTML1系

S <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
S <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
S <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
S <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
S <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
S <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
このブログの筆者について

川田 寛

コンテンツサービスの開発や運営代行を専門とする集団「株式会社ブートストラップ」の社長です。ネットではふろしきと呼ばれています。

2009年にNTTグループへ新卒入社し、ITエンジニアとしてクラウド技術・Web技術の研究開発と技術コンサルティングに従事。2015年よりピクシブに入社し、エンジニアリングマネージャー・事業責任者・執行役員CCOなど、様々な立場からコンテンツサービスの事業づくりに関わりました。2021年にメディアドゥへVPoEとしてジョインし出版関係の事業に関わったのち、2023年に独立しています。

関わってきたインターネット事業としては、ECサービスのBOOTH、UGCプラットフォームのpixiv(主に海外展開)、制作ツールのpixiv Sketch、VR・VTuber関連ではVRoid、Wikiサービスのピクシブ百科事典など、10を超える多様なCtoCコンテンツサービス。また、NTTドコモのすご得コンテンツ、メディアドゥのWeb3サービスであるFanTopなど、いくつかのBtoCコンテンツサービスにも関わってきました。

幸運なことに、私はコンテンツに関係する幅広いインターネットサービスのテクノロジー&ビジネスの知識を得ることができました。これを日本のコンテンツ発展に役立てたいと思い、株式会社ブートストラップを創業しました。

このブログでは現在、出版社やIPホルダー、ライセンサーといったコンテンツに関わる人々に向けて、インターネット事業に関するTipsや業界内のトレンドなどの情報を発信しています。私と話をしてみたいという方は、以下のフォームより気軽にご連絡ください。

お問い合わせフォーム