Internet Explorer では条件ステートメントの使用が廃止されたため、要素やスタイルを個別に IE だけに適用する方法に戸惑いました。これは IE10 では機能しなくなりました。
<!--[if IE]>
<![endif]-->
ここに青と赤のボックスの jsfiddle があります: http://jsfiddle.net/74yK9/1/
青いボックスを Internet Explorer (すべてのバージョン) でのみ表示するにはどうすればよいですか?
Internet Explorer では条件ステートメントの使用が廃止されたため、要素やスタイルを個別に IE だけに適用する方法に戸惑いました。これは IE10 では機能しなくなりました。
<!--[if IE]>
<![endif]-->
ここに青と赤のボックスの jsfiddle があります: http://jsfiddle.net/74yK9/1/
青いボックスを Internet Explorer (すべてのバージョン) でのみ表示するにはどうすればよいですか?
Javascript を使用すると、IE でのみ利用可能な条件付きコンパイルを使用できます。
if (Function('/*@cc_on return true@*/')()) {
// Is IE
}
したがって、それを使用する方法は次のようなものです。
var isIE = false;
if (Function('/*@cc_on return true@*/')()) {
isIE = true;
// or
document.documentElement.className += " isIE";
}
これにより、Javascriptでブール値が設定され、および/または要素にisIE
クラスが追加されます<html>
...これは<html class="isIE">
. つまり、Javacript でブール値をチェックするか、次のようなisIE
ものに基づいてスタイルを設定できます。class
html.isIE body {
color: #111; /* Only applied for IE*/
}
userAgent
これは機能検出 (一種) を使用し、スニッフィングは使用しません。userAgent
スニッフィングはオプションですが、信頼性が低く、最新の jQuery では非推奨/削除されています。
条件付きコンパイルの詳細: http://www.javascriptkit.com/javatutors/conditionalcompile.shtmlおよびhttp://msdn.microsoft.com/en-us/library/ie/121hztk3%28v=vs.94% 29.aspx
jQuery を使用してこれを行うことができます。jQuery Migrate プラグインも含めることを忘れないでください。
if ($.browser.msie) {
// For IE only
$('#bluebox').show();
} else {
// all other browsers
$('#bluebox').hide();
}