0

これらのモードがどのように機能するのかよくわかりません。たとえば、追加した場合

<!DOCTYPE>それをhtml5文書化してから追加する

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

IE は IE 9 標準でレンダリングしますか?

しかし、私の質問は、ユーザーが持っていないIE 9が持っているIE 67、私のページにのみ機能するいくつかの機能がある場合、IE 9それは何らかの形で機能するかどうかです。

4

2 に答える 2

2

<!DOCTYPE>まず、質問で独自に書いた方法は有効ではありません。使用するDoctypeを指定する必要があります。HTML5 を使用する場合、doctype 行は次のようになります。

<!DOCTYPE html>

動作する Doctype がある場合、IE はページを標準モードでレンダリングします。Doctype がない場合、IE は Quirks モードを使用します。Quirks モードは基本的に IE5 互換モードであり、他のすべてのブラウザでは機能しない多くの非標準のものがあります。したがって、常に doctype を使用する必要があります。

第 2に、これは IE に、可能であればX-UA-Compatible特定のレンダリング モードを使用するように指示します。

明らかに、古いバージョンの IE は新しい IE バージョンのレンダリング モードを使用できないため、このタグは実際には後方互換性の理由でのみ使用されます。したがって、あなたの質問に対する直接的な答えは「いいえ」です。IE6 は IE9 モードでレンダリングできず、IE7 または IE8 もレンダリングできません。

IE8 は IE7 互換モードを使用でき、IE9 は IE8 と IE7 の両方の互換モードを備えています。このタグは、IE が標準モードではなくこれらのモードを使用するようにトリガーします。

これは、サイトが古いバージョンの IE 用に作成されていて、新しいバージョンでは正しく動作しない場合の応急処置として役立ちます。これは、誰もが IE を使用することを余儀なくされている内部ネットワークにいる場合は問題ありませんが、より広いインターネットでは、他のブラウザーもサポートする必要があり、サイトが IE8 では機能するが IE9 では機能しない場合は、他のブラウザでも壊れます。したがってX-UA-Compatible、現実の世界ではそれほど役に立たないことをお勧めします。

ただし、これを含めると便利な場合が 1 つあります。下位互換性モードを自動的にトリガーするように設定できる IE の構成設定があります。したがって、IE8 ユーザーは、知らないうちに IE7 モードになっている可能性があります。

これは明らかに問題ですがX-UA-Compatible、より高い値を指定すると、IE は代わりに新しいレンダリング モードを強制的に使用します。これは良いことです。

ただし、この場合、使用する IE のバージョンを指定するべきではありません。指定すると、IE=9IE10 ユーザーはどうなるでしょうか。代わりに、特殊なケースの value を使用する必要がありますedge。これにより、IE は、他の設定に関係なく、使用可能な最新のレンダリング モードを使用するようになります。ほとんどの場合、これがやりたいことです。コードは次のようになります。

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

それが役立つことを願っています。

ところで、X-UA-CompatibleHTML コード内ではなく、HTTP ヘッダーで指定することもできます。

于 2012-06-24T14:06:02.660 に答える
1

いいえ、うまくいかないでしょう - それは完全に不可能です。更新なしで IE 6 が IE 9 レンダリング エンジンを取得するにはどうすればよいですか?

実際、IE 7 以前では次の機能もサポートされていません X-UA-Compatible

Windows Internet Explorer 8 の時点で、このhttpEquiv属性は の値もサポートしていますx-ua-compatible。これにより、開発者は、Windows Internet Explorer が Web ページを表示するために使用するドキュメント互換モードを指定できます。これを行うには、 content 属性を、次の値の 1 つ以上のコンマ区切りリストを含む文字列値に設定します。

于 2012-06-24T13:38:18.563 に答える