Internet Explorer 10は、条件付きコメントを読み取ろうとしなくなりました。これは、他のブラウザと同じように条件付きコメントを処理することを意味します。通常のHTMLコメントと同様に、完全に無視されることを意味します。例として質問で与えられたマークアップを見ると、IE10を含むすべてのブラウザーは、灰色で強調表示されたコメント部分を完全に無視します。HTML5標準では、条件付きコメント構文については言及されていません。これが、IE10でのサポートを停止することを選択した理由です。
ただし、コメントや最近の回答に示されているように、JScriptでの条件付きコンパイルは引き続きサポートされていることに注意してください。とは異なりjQuery.browser
、最終リリースでもなくなることはありません。そしてもちろん、ユーザーエージェントのスニッフィングは相変わらず脆弱なままであり、いかなる状況でも決して使用されるべきではないことは言うまでもありません。
本当にIE10をターゲットにする必要がある場合は、近い将来もサポートされる可能性のある条件付きコンパイルを使用するか、ブラウザ検出の代わりに(またはブラウザ検出と組み合わせて)Modernizrなどの機能検出ライブラリを使用してください。ユースケースでnoscriptが必要な場合や、サーバー側でIE10に対応する必要がある場合を除いて、ユーザーエージェントのスニッフィングは、実行可能なオプションというよりも頭痛の種になります。
かなり面倒に聞こえますが、今日のWeb標準1に高度に準拠している最新のブラウザーとして、標準に高度に準拠している相互運用可能なコードを記述していると仮定すると、絶対に必要な場合を除いて、IE10用の特別なコードを確保する必要はありません。つまり、動作とレンダリングの点で他のブラウザに似ているはずです。2 IEの歴史を考えると、それはとてつもないことのように聞こえますが、FirefoxまたはChromeが同じように動作して、がっかりするだけだと何回期待しましたか?
特定のブラウザをターゲットにする正当な理由がある場合は、提供されている他のツールを使用してブラウザをスニッフィングしてください。今日、そのような理由を見つけるのは以前よりもはるかに困難になるだろうと言っているだけであり、それは本当にあなたが信頼できるものではありません。
1 IE10だけでなく、IE9、さらにはChromeよりもはるかに優れた成熟したCSS2.1標準のほとんどを処理するIE8もあります。これは、IE8が標準への準拠に重点を置いていたためです(当時、CSS2.1はすでにかなり安定しており、わずかな違いしかありませんでした。今日の推奨事項から)Chromeは、最先端の疑似標準の半分洗練された技術デモに過ぎないようです。
2 そして、私がこれを言うとき、私は偏見があるかもしれません、しかしそれは地獄がそうであるように確かです。コードが他のブラウザで機能するがIEでは機能しない場合、IE10ではなく独自のコードの問題である可能性は、たとえば3年前の以前のバージョンのIEと比較してはるかに優れています。繰り返しますが、私は偏見があるかもしれませんが、正直に言いましょう。あなたもそうではありませんか?コメントを見てください。