互換モードとは、ソフトウェアが古いバージョンのソフトウェアをエミュレートするか、別のオペレーティング システムを模倣して、古いまたは互換性のない ソフトウェアやファイルがコンピューターの新しいハードウェアやソフトウェアと互換性を保つようにするソフトウェア メカニズムです。このモードを使用するソフトウェアの例としては、オペレーティング システムやInternet Explorer などがあります。
オペレーティングシステム
オペレーティング システムの互換モードとは、コンピューターのオペレーティング システムが古いプロセッサ、オペレーティング システム、および/またはハードウェア プラットフォームをエミュレートして、古いソフトウェアとコンピューターの新しいハードウェアまたはソフトウェアとの互換性を維持できるようにするソフトウェア メカニズムです。
これは、エミュレーターが通常、古いシステムの関数呼び出しをホスト システムが理解できる呼び出しに単純に変換するのではなく、ホスト システム上に仮想ハードウェア アーキテクチャを作成するという点で、本格的なエミュレーターとは異なります。
例としては、 Mac OS Xのクラシック モードやMicrosoft Windowsの互換モードが挙げられます。どちらも、古いバージョンのオペレーティング システム用に設計されたアプリケーションを実行できます。その他の例としては、Linux / OS Xで Windows プログラムを実行するWineや、さまざまなUnix 系システムで.NETプログラムを実行するMono などがあります。
インターネットエクスプローラー
「互換表示」は、Web ブラウザ Internet Explorerバージョン 8 以降の互換モード機能です。互換表示を有効にすると、IE は Webページを IE7 で表示しているかのようにQuirks モードで表示します。 [1] [2]互換表示が有効になっていない場合、IE はネイティブ モードで実行されているとみなされます。IE11 では、ユーザーは歯車アイコンをクリックして互換表示設定をクリックすることで、Web サイトの互換モードをオンにできます。
IE8以上
Microsoft は、 Internet Explorer 8はInternet Explorer 7よりもW3Cで規定された Web 標準に厳密に準拠しているとして宣伝しました。その結果、それ以前のすべての IE バージョンと同様に、古いバージョンの動作に合わせてコーディングされた Web ページの一部は IE8 で動作しなくなります。これは、IE6 のバグを修正しながらも、IE6 固有のハックを使用して非準拠を回避したページが動作しなくなった IE7 の状況の繰り返しでした。これは、更新できない可能性があるオフライン HTML ドキュメント (CD-ROM や DVD-ROM などの読み取り専用メディアに保存されているなど) では特に問題でした。
この状況を回避するために、IE8ではバージョンターゲティングの形式を実装し、メタ要素またはHTTPヘッダー内のX-UA-Compatible宣言を使用して、ページを特定のバージョンのブラウザ向けに作成できるようにしました。[3]
下位互換性を維持するために、サイトは、ブラウザの互換モードをトリガーする特別に作成されたメタ要素をWebページに挿入することで、 IE7のようなコンテンツの処理を選択できます。 [4]
< meta http-equiv = "X-UA-compatible" content = "IE=EmulateIE7" />
ページがコーディングされたバージョンよりも新しいバージョンのブラウザは、古いバージョンの動作をエミュレートするため、ブラウザの動作に関してページが行った想定は正しいものになります。
Microsoft は、IE7 で標準モード (またはほぼ標準モード) をトリガーするdoctypeを持つページは、デフォルトで、IE8 および将来のバージョンの IE で「標準モード」(現在は「厳密モード」と呼ばれています) と呼ばれる IE7 のような動作をトリガーすることを提案しました。IE8 の新機能は、Microsoft が「IE8 標準モード」(現在は「標準モード」と呼ばれています) と呼ぶものをトリガーするように有効化されています。IE7でQuirks モードをトリガーする doctype は、IE8 でも引き続きそのように動作します。
Ars Technicaの Peter Bright 氏は、メタタグを使用して特定のレンダリングモードを選択するという考え方は、標準ベースの開発の要点を根本的に見失っていると主張しましたが、この問題をWeb 開発における理想主義と実用主義の対立として位置付け、Web のすべてが維持されているわけではないこと、そして「Web 開発者にサイトを更新して、将来のブラウザバージョンでも適切に動作し続けるように要求するのは、おそらく要求しすぎだ」と述べています。[5]
IE 8 Beta 1 の結果、3 つのモードをレンダリングできるようになりました。「Quirks」、「Strict」、「Standard」です。古いDOCTYPEがある場合、または DOCTYPE がない場合、IE は IE5 のようにレンダリングします (Quirks モード)。Web ページに特別なメタ要素またはそれに対応するHTTP ヘッダーが含まれている場合、IE8 は IE7 のようにそのページをレンダリングします (Strict モード)。それ以外の場合、IE8 は独自のエンジンでページをレンダリングします (標準モード)。ユーザーは数回のクリックで 3 つのモードを切り替えることができます。[6] Internet Explorer 8 Beta 1 のリリースにより、多くの Web サイトがこの新しい標準モードでは動作しないことが明らかになりました。
Microsoft は、IE8 の標準モードで問題が発生すると報告されている Web サイトのリスト (互換表示リスト) を管理しています。ユーザーがこのリストを有効にすると、IE8 はリスト内の Web サイトを互換表示モードで表示します。[7]このリストは、新たに報告された問題のある Web サイトを追加したり、所有者が削除を要求した Web サイトを削除したりするために、定期的に更新されます。Internet Explorer チームも、リスト内の Web サイトで互換性の問題がないかテストし、問題がない場合は削除します。[8]
参照
参考文献
- ^ 「2.1.2.5 互換表示」。[MS-IEDOCO]: Internet Explorer 標準サポート ドキュメントの概要。Microsoft。2015 年。
- ^ 「互換表示でサイトの表示の問題を修正する」。Microsoft Windows: 方法。Microsoft。2015年7 月 29 日閲覧。
- ^ Aaron Gustafson (2008 年 1 月 21 日)。「DOCTYPE を超えて: Web 標準、上位互換性、および IE8」 。2007年 3 月 22 日閲覧。
- ^ MSDN「Internet Explorer 8 の新機能」Wayback Machineに 2008-04-18 にアーカイブされています。
- ^ Peter Bright (2008 年 1 月 24 日)。「賢明さと愚行: IE8 のスーパー標準モードは両刃の剣」Ars Technica。2008年 3 月 21 日閲覧。
- ^ Mary Jo Foley. 「IE 8 に WebSlices とアクティビティが搭載される」CNetブログ。 2008 年 3 月 6 日時点のオリジナルよりアーカイブ。 2007 年 3 月 5 日閲覧。
- ^ 「互換表示リストについて」。MSDN。Microsoft。2009年 9 月 6日閲覧。
- ^ Scott Dickens (2009 年 7 月 21 日)。「Internet Explorer 8 の互換表示リストの更新」。IEBlog。Microsoft。2009年 9 月 6日閲覧。
