-1

Internet Explorer では条件ステートメントの使用が廃止されたため、要素やスタイルを個別に IE だけに適用する方法に戸惑いました。これは IE10 では機能しなくなりました。

<!--[if IE]>
<![endif]-->

ここに青と赤のボックスの jsfiddle があります: http://jsfiddle.net/74yK9/1/

青いボックスを Internet Explorer (すべてのバージョン) でのみ表示するにはどうすればよいですか?

4

2 に答える 2

1

Javascript を使用すると、IE でのみ利用可能な条件付きコンパイルを使用できます。

if (Function('/*@cc_on return true@*/')()) {
    // Is IE
}

ここから変更: Internet Explorer 固有の CSS や Internet Explorer 固有の JavaScript コードなど、特定の状況で Internet Explorer 10 のみをターゲットにするにはどうすればよいですか?

したがって、それを使用する方法は次のようなものです。

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

于 2013-03-29T18:53:12.613 に答える
1

jQuery を使用してこれを行うことができます。jQuery Migrate プラグインも含めることを忘れないでください。

if ($.browser.msie) {

    // For IE only
    $('#bluebox').show();
} else {

    // all other browsers
    $('#bluebox').hide();
}
于 2013-03-29T18:49:09.383 に答える