私は最近、サイトのヘッダーに次のものを追加することの喜びを発見しました。
<meta http-equiv="X-UA-Compatible" content="IE=8" />
ウェブサイトは正常に機能し、CSSは美しく、生活は良好です。しかし、私はこれがどれほど良い習慣であるかについて少し心配していますか?
IE7がインストールされている本当に古いコンピューターはどうですか?そのバージョンのIE7は実際にIE8標準モードにアクセスできますか?
私は最近、サイトのヘッダーに次のものを追加することの喜びを発見しました。
<meta http-equiv="X-UA-Compatible" content="IE=8" />
ウェブサイトは正常に機能し、CSSは美しく、生活は良好です。しかし、私はこれがどれほど良い習慣であるかについて少し心配していますか?
IE7がインストールされている本当に古いコンピューターはどうですか?そのバージョンのIE7は実際にIE8標準モードにアクセスできますか?
質問の最後の部分に対する簡単な答えはノーです。IE7をIE8モードで動作させることはできません。したがって、X-UA-Compatible
ヘッダーを使用しても、IEの古いバージョンが新しいバージョンであると強制されることはありません。(それがうまくいけば、私たちは皆、使い始めてcontent="IE-10"
、下位互換性を永遠に心配することなく終わらせることができます)
フラグが行うことは、X-UA-Compatible
IEの新しいバージョンに、古いバージョンをエミュレートするために互換モードにフォールバックするように指示することです。したがって、content="IE-8"
フラグはIE7またはIE8には影響しませんが、IE9はIE8モードにフォールバックします。
これは、IE9が下位互換性を確保しようとするという名目で、新しい機能を効果的に破棄することを意味します。
これがIE9に求めるものである場合は、必ずX-UA-Compatible
ヘッダーを使用してください。それがあなたが望むものでないなら、それを使わないでください。
(IEの下位互換性モードは、エミュレートしようとしているバージョンの実際のコピーと100%互換性があるとは言えないことが知られているため、完全なコピーが得られるとは思わないでください。 IE8はIE9で実行されています-通常モードのIE8またはIE9とは異なる独自の癖があります)
注意すべきもう1つの点は、Microsoftが提供しているタグの例が常に機能するとは限らないことです。ドキュメントの互換性の定義、特にページ下部のコミュニティの追加をお読みください。
ベストプラクティスに関する限り、これらはおそらく最良の長期的なソリューションではありませんが、IE9がリリースされ、サイトがダウンしたときに非常に便利でした。
誰もが正しく言っている下位互換性は、完全には機能しないため、厳密に必要な場合にのみ適用する必要があります。また、互換性タグを追加するだけでは、新しいブラウザの機能を古いブラウザに移行することはできません。
IE8をWindows7テスト環境にインストールしましたが、IE7が以前に行ったようにコードの一部がレンダリングされます(メタタグにcontent = "IE7"はありません)。
Windows 7 + IE8を搭載した別のマシンでは、コードのレンダリングは異なりますが、私が望む方法です。http://www.greywyvern.com/?post=313
に興味深い記事があり、IE8のレンダリング方法は、システムにインストールされているService Packによって異なります(記事はXPに関するものですが、私のものはWindows 7であり、私は同じ問題)。
これで、コンテンツ= "IE10"をWebページに配置し、WebサイトがIE10、IE9、およびIE8で正しく表示されるようになりました。
Discusを使用していますが、古いバージョンのIEとは互換性がありません。私は彼らが私のページコードでcontent="IE-8"を使用すると言った助けを得ました...
content = "IE-8"は、テーブルやテキストなどのサイズを変更するようにブラウザに指示しました:pcontent ="IE-7"に変更しました。これは完璧に機能します。