IE8互換表示(IE7モード)とスタンドアロンIE7の違いの詳細な説明

IE8互換表示(IE7モード)とスタンドアロンIE7の違いの詳細な説明

1つ。 IE8 互換表示の概要<br />新しいバージョンのブラウザが古い Web サイトと互換性がない問題を解決するために、IE8 ブラウザには「互換表示」と呼ばれる機能が追加されました。この機能により、Web ページを IE7 のコード仕様に従って表示できます。これにより、一貫性のないコード標準によって発生する Web ページの問題のほとんど (すべてではありません) を解決できます。
二。 「ブラウザモード」と「ドキュメントモード」の違い
互換表示には、「ブラウザ モード」と「ドキュメント モード」という 2 つの重要な機能があります。IE8 では、F12 キーを押して「開発者ツール」を開きます。メニュー バーに、「ブラウザ モード」と「ドキュメント モード」の切り替えメニューが表示され、ここで IE7/8 などのさまざまな Web ページ モードに切り替えることができます。
では、「ブラウザ モード」と「ドキュメント モード」の違いは何でしょうか?
「ブラウザ モード」は、Web ページの IE のデフォルトのドキュメント モードを切り替えたり、さまざまなバージョンのブラウザの条件付きコメントを解析したり、Web サイト サーバーに送信される User-Agent 文字列の値を解析したりするために使用されます。ウェブサイトは、ブラウザから返されるさまざまなユーザー エージェント文字列に基づいてブラウザのバージョンとインストールされている機能を判別できるため、異なるブラウザに異なるページ コンテンツを返すことができます。
デフォルトでは、IE8 のブラウザ モードは IE8 です。ユーザーは、アドレス バーの横にある [互換表示] ボタンをクリックすることで、手動で別のブラウザー モードに切り替えることができます。 IE8 では、IE8 互換ビューは Web ページを IE7 ドキュメント モードで表示し、IE7 ユーザー エージェント文字列をサーバーに送信します。
「ドキュメント モード」は、Web ページ コードを解析およびレンダリングするために使用する IE のページ レイアウト エンジン (Trident) のバージョンを指定するために使用されます。ドキュメント モードを切り替えると Web ページは更新されますが、ユーザー エージェント文字列のバージョン番号は変更されず、サーバーから Web ページが再ダウンロードされることもありません。ブラウザ モードを切り替えると、ブラウザは自動的に対応するドキュメント モードに切り替わります。
一般的に言えば、両方とも同じバージョンに設定する必要がありますが、異なる場合はどうなるでしょうか?それとも両者の間に優先順位の違いがあるのでしょうか?
以下の MSDN の投稿をご覧ください: Just The Facts: 互換表示の要約
http://blogs.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx
ハイライト:
•IE8 の標準モードをサポートするように更新できない Web サイトに対して、X-UA-compatible タグの使用を推奨しています。このタグを使用すると、Web 作成者は、Web サイトが最も適切に動作する標準モードの動作 (IE8 標準 (ヘッダーがない場合のデフォルト) または IE7 標準) を正確に宣言できます。たとえば、値 'IE=EmulateIE7' を使用すると、IE8 は Web サイトを「IE7 と同じように」表示します。
• 私たちは、Web サイトの互換性の問題に対するエンド ユーザーと企業/IT の緩和策を「互換表示」という包括的な用語で提供しています。「互換表示」により、IE8 ユーザーは、上記の 2 つの手順のどちらも実行していない Web サイトにアクセスする場合でも、優れたエクスペリエンスを得ることができます。また、IT 組織が、現在 Internet Explorer 7 に対応している多数の基幹業務 Web サイトとの互換性を維持するのにも役立ちます。
•互換性のビューとX-UA互換性のあるタグは、クライアントに影響を与えるものではありません。クライアントの互換性は、バージョンのベクトルと、標準のマップをトリガーすることは、既にそれを変更するには順調になります。標準モード)は、Webサイトを互換性のあるものにしません。また、ユーザーエージェントの文字列検出ロジックも更新する必要があります。
まとめると、IE8 を IE7 モードと互換性を持たせる方法は 2 つあります。1 つはサーバー側で、プログラマーに Web ページのドキュメント モードを制御および変更させる方法です。つまり、Meta (X-UA-compatible IE=EmulateIE7) を通じて、ページを IE7 と互換性を持たせるように強制する方法です。
次のように:

コードをコピー
コードは次のとおりです。

<head runat="サーバー">
<meta http-equiv="X-UA-compatible" content="IE=7" />
<title>近親相姦</title>
</head>

この文を書かない場合はデフォルトでIE8が使用されます。
もう 1 つはクライアント側です。Web サイトがメタを変更する時間がなかった場合、ユーザーが IE8 をインストールしていて正常に表示できないことに気付いた場合、最後の手段は互換表示ボタンをクリックすることです。これは最終的にユーザー エージェントに反映されます。つまり、互換表示ボタンをクリックすると、送信された HTTP リクエスト ヘッダーが MSIE7.0 に書き換えられ、クライアントは IE7 を装ってリクエストを送信します。
次のように:
ユーザー エージェント: Mozilla/4.0 (互換性あり; MSIE 7.0; Windows NT 6.0; Trident/5.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
MSDN によると、Meta (X-UA-compatible IE=EmulateIE7) を変更することは、互換表示をクリックすることよりも優先されます。互換表示の選択を上書きできます。つまり、Web サイトが修正されてリリースされると、Meta が設定されていれば、元のユーザーのブラウザーに設定されている互換表示を無効にでき、新しいバージョンの IE8 ブラウザーに自動的に適応できます。
三つ。 IE8互換表示(IE7モード)はスタンドアロンIE7と全く同じではありません
Technet.Microsoft の投稿を参照してください:
互換表示とは何ですか?
http://technet.microsoft.com/zh-cn/ff966533
互換表示は、Windows Internet Explorer 8 の機能であり、ブラウザーが Windows Internet Explorer 7 とほぼ同じ方法で Web ページをレンダリングできるようにします。
Internet Explorer 8 では、互換表示により、ブラウザーが CSS、HTML、およびドキュメント オブジェクト モデル (DOM) で記述されたコードを解釈する方法が変更され、Internet Explorer 7 に一致するように試みられます。ユーザーが Internet Explorer 8 の互換表示で表示するサイトは、ユーザーが Internet Explorer 7 で表示するサイトとほぼ同じです。ただし、互換表示によってブラウザーがすべてのコードを解釈する方法が変更されるわけではありません。たとえば、ブラウザーが ActiveX、パーサー、AJAX、JavaScript、ネットワーク、およびセキュリティを処理する方法に関する Internet Explorer 8 の変更によって、互換性の問題が引き続き発生する可能性があります。互換表示では、これらの動作は変更されません。
エンタープライズ環境では、互換性の問題が発生するリスクが低い領域もあります。たとえば、イントラネット ゾーンの Web サイトでは、既定で互換表示が使用されます。Web ブラウザー コントロールまたは WebOC (Internet Explorer レンダリング エンジン) を使用してレンダリングするクライアント Web アプリケーションも、Internet Explorer 8 が WebOC の互換モードを既定で設定するため、互換性の問題が発生するリスクは低くなります。ただし、互換表示の既定の構成設定では、完全な互換性が保証されない可能性があります。Web サイトまたは Web アプリケーションが Internet Explorer 8 と互換性があるかどうかを確認するには、Web サイトまたは Web アプリケーションをテストする必要があります。
Internet Explorer 8 互換表示と Internet Explorer 7 の違いの詳細については、サイト互換性と Internet Explorer 8 のブログを参照してください。Internet Explorer 8 にアップグレードするときに確認する項目の一覧については、Internet Explorer 8 準備ツールキットを参照してください。
互換表示の詳細については、Internet Explorer チームのブログを参照してください。
MSDN の投稿を参照してください:
1. IE8 互換表示と IE7 の違い
http://blogs.msdn.com/b/ie/archive/2009/03/12/site-compatibility-and-ie8.aspx
抜粋:
互換表示が IE7 とできるだけ同じように動作するように努めていますが、例外もあります。これらの例外の多くにより、IE8 標準モードにまだ移行していないサイトでも、セキュリティとアクセシビリティ機能がすぐに向上します。
2. IE8 の互換表示は具体的に何を行うのでしょうか?
http://webmasters.stackexchange.com/questions/2219/what-exactly-does-compatibility-view-do-in-ie8
ハイライト:
互換表示では、ページが Internet Explorer 7 (Javascript を含む) であるかのように表示されます。互換表示付きの IE8 と純粋な IE7 の間にはいくつかの違いがありますが、基本的には同じです。何が起こっているのかを詳しく知りたい場合は、IE MSDN ブログの「Just The Facts: Recap of Compatibility View」をお読みください。
次のメタ タグを使用して、IE8 に CV の使用を強制することもできます。
<meta http-equiv="X-UA-compatible" content="IE=EmulateIE7" />
問題がある場合は、まず HTML に正当な doctype があるかどうかを確認することをお勧めします (最も単純なのは、標準モードを強制する <!DOCTYPE html> です)。これにより、特に IE6 では、問題の 90% が解決されます。
結論としては、IE8 互換モードは独立した IE7 とは異なり、まだいくつかの違いがあります。IE8 に完全な IE7 が単純に含まれたわけではありません。
4つ。具体的な違いの詳細
1. クロスドキュメントコミュニケーション
セキュリティ上の理由により、ドメイン間、ドキュメント間の通信を可能にするハックは無効になっています。
解決策: この変更を回避するには、クロス ドキュメント メッセージング (XDM) を使用します。
2. イベントオブジェクトの拡張
IE は、互換表示でも、クロス ドキュメント メッセージング (XDM) などの特定の AJAX 機能の新しいプロパティを公開します。Event オブジェクトにカスタム プロパティを追加すると、"source" などの新しいプロパティと競合する可能性があります。
event.source = myObject; // IE8では読み取り専用
解決策: 衝突を避けるために、競合するカスタム プロパティの名前を変更します。
イベントのソースを myObject に変更します。
3. 属性の順序
属性の順序が変更され、属性コレクションと innerHTML および outerHTML の値に影響します。特定の属性の順序に依存するページは壊れる可能性があります。
attr = elm.attributes[1]; // IE8では異なる可能性があります
解決策: 属性コレクション内の位置ではなく、名前で属性を参照します。
attr = elm.attributes["id"];
4. サポートされていない CSS 値の設定
IE7 ではサポートされていなかったが IE8 標準モードではサポートされている CSS 値を割り当てても、IE8 互換表示では例外は生成されません。一部のサイトでは、これらの例外を使用して、CSS プロパティの特定の値がサポートされているかどうかを判断します。

コードをコピー
コードは次のとおりです。

試す
{
elm.style.display = "テーブルセル";
} キャッチ(e)
{
// これはIE7で実行されます。
// モードに関係なく、IE8 では無効
}

解決策: バージョン検出がない限り、この問題を回避するのは困難です。この動作がページにとって不可欠な場合は、ページを更新して IE8 標準モードで実行するのが最善の方法です。

<<:  リンクをクリックしたときにファイルのダウンロードダイアログボックスをポップアップ表示するには、HTML で href を使用します。

>>:  Dockerfile を使用したカスタムイメージの構築の実装

推薦する

dockerログマウントの問題を解決する

重要なのは、ローカルサーバーに書き込み権限がないことですキーはここにあります(アクセス拒否)。私は肯...

CSS3 の display:grid、グリッドレイアウトの紹介

1. グリッドレイアウト(グリッド): Web ページをグリッドに分割し、さまざまなグリッドを組み合...

最小限のルートファイルシステムを構築するためにbusyboxを移植するための詳細な手順

Busybox: 小さなコマンドが詰まったスイスアーミーナイフ。ステップ1: ディレクトリ構造を作成...

VMware 12 での Ubuntu 16.04 インストール チュートリアル

この記事では、VMware 12でのUbuntu 16.04のインストールチュートリアルを参考までに...

MySQL Innodbの主な機能挿入バッファ

目次挿入バッファとは何ですか?挿入バッファのトリガー条件は何ですか?なぜ一意のインデックスにできない...

MySQL 5.7 JSON 型の使用の詳細

JSON は、言語に依存しないテキスト形式を使用する軽量のデータ交換形式で、XML に似ていますが、...

条件によるMysqlカウントの複数の実装方法を詳細に解説

最近、あるウェブサイトのバックエンドに一連の統計機能を追加していたのですが、条件によるカウントが必要...

Docker で複数の MySQL コンテナを作成して実行する方法の例

1. mysql/mysql-server:latestイメージを使用してMySQLインスタンスを素...

Nginx プロキシを使用してインターネットを閲覧する方法

私は通常、Tomcatや他のアプリケーションのリバースプロキシとしてnginxを使用しています。実際...

Linux での MySQL 8.0.11 のインストールに関するチュートリアル

1. 公式サイトにアクセスしてインストールパッケージをダウンロードしますダウンロードリンク: クリッ...

Tomcat マルチレイヤーコンテナの設計に関する簡単な説明

目次コンテナ階層サーブレットの検索を要求するプロセス仕組みTomcat のコンテナは Servlet...

js は axios 制限リクエスト キューを実装します

目次背景は次のとおりです。何が起こるでしょうか?背景は次のとおりです。実際の開発では、ネットワークの...

CSSは背景画像の画面適応を実現する

ログインページなどのホームページを作成する場合、大きな背景画像を配置する必要があり、さまざまな画面の...

uniapp エントリーレベル nvue クライミングピット記録の分析

目次序文こんにちは世界画像 境界線の半径を設定する実ピクセルを設定する外部CSSをインポートttfフ...

Ubuntu 20.04 に MySql5.7 をインストールして構成するための詳細なチュートリアル

目次1. Ubuntuソースの変更2. MySQLをインストールする3. 新しいユーザーを作成し、権...