2

Aブラウザが IE 6 以下の場合はスパンを、ブラウザが IE 6 以上または IE でない場合はスパンを表示しようとしていますB

<!--[if lte IE 6]><!--><span>You're using IE 6 or lower.</span><!--<![endif]-->
<!--[if (!IE)|(gt IE 6)]><!--><span>You're using IE 7 or greater or another browser.</span><!--<![endif]-->​

これは、私が持っているすべての Internet Explorer バージョンで完全に機能しますが、Chrome と Firefox では両方のスパンが表示されます。この条件は Microsoft 固有のものであるため、認識されていないと思います。

JavaScriptを繰り返さずにこれを行う方法はありますか?

4

4 に答える 4

6

最初の条件付きコメントは次のようになります。

<!--[if lte IE 6]><span>You're using IE 6 or lower.</span><![endif]-->

これは 1 つのコメント ( <!-- … -->) であり、ほとんどのブラウザでそのように扱われます。IE だけがそれをコメント以外のものと見なし、IE <= 6 だけがspan.

それをあなたが今持っているものと比較してください:

<!--[if lte IE 6]><!--><span>You're using IE 6 or lower.</span><!--<![endif]-->

これは2 つのコメント (<!--[if lte IE 6]><!--><!--<![endif]-->) で、間にマークアップがあります。IE だけがコメントが何らかの意味で特別であることを理解しているため、他のブラウザーではコンテンツは表示されますが、2 つのコメントは表示されません。

Quirksmode で、条件付きコメントの完全なガイドを見つけることができます。

于 2012-05-27T08:14:16.023 に答える
1

これは、私が持っているすべての Internet Explorer バージョンで完全に機能しますが、Chrome と Firefox では両方のスパンが表示されます。

まあ、彼らはそうするでしょう。

条件付きコメントは IE の機能です。それだけ。他のブラウザは、それらを通常のコメントとして扱います。

于 2012-05-27T08:07:29.590 に答える
1

ここにテストケースがあります。

ご覧のとおり、2 種類のコメントを使用しました。IE 以外のブラウザをサポートするための下位レベルの公開および下位レベルの非公開のもの。このトピックの詳細については、これに関するMicrosoft の投稿を参照してください。

于 2012-05-27T08:23:15.817 に答える
0

2 番目のコメントを削除し、

のみ保持:

<!--[if lte IE 6]> code <![endif]-->

コード自体にコメントを付けていますが、表示されません。

于 2012-05-27T08:35:19.790 に答える