-1

Internet Explorer で表示されない Web ページに表示する必要があるメッセージが div にあります。<!--[if !IE]>標準と他のいくつかの提案を試しましたが、役に立ちませんでした。

足りないものはありますか?

4

1 に答える 1

2

この方法はお勧めしません!

まず第一に、ブラウザの検出は悪であり、可能な限り回避する必要があります。Modernizrなどを使用した機能検出は、はるかにユーザー フレンドリーです。多くのユーザー (すべてのモバイル ユーザー、Mac ユーザー、Linux ユーザー) は、IE を使用したくても使用できないことを覚えておいてください。

そうは言っても、それは可能です...

OK、あなたのHTMLがこれだとしましょう:

<div id='notOnIE'>Some content, do not display on IE.</div>

DIVIE9 以前で非表示にする:

まず、IE9 を検出し、この DIV を IE で非表示にします。

<!--[if IE]>
    <style type='text/css'>
        #notOnIE{ display:none; }
    </style>
<![endif]-->

DIVIE10 で非表示にします。

次に、IE10 で DIV を非表示にする必要があります。これを CSS スタイルシートに追加します。

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    #notOnIE{display:none;}
}

Microsoft は、IE10 で IE タグを故意に壊しました。なぜなら、IE10 は多くの HTML5 標準をサポートしており、人々はこれらのタグを (乱用して) 使用して、半分しか機能しないバージョンをレンダリングするのではなく、意図的に IE で Web サイトを壊していたからです。

jsFiddle での作業デモ

注: DIVIE7 以前で を表示する場合:

あなたのコメントでは、IE8以降をテストしたことを示唆しましたが、IE7と6でさえまだ使用されているため、DIVそれらも表示したい場合は、バージョン検出を使用できます:

<!--[if gte IE 8]>
    <style>
        #notOnIE{display:none;}
    </style>
<![endif]-->

jsFiddle での作業デモ

于 2013-06-05T10:01:25.400 に答える