-1

私は jQuery を webapp に組み込む任務を負っていますが、Internet Explorer 8 ブラウザーに固有の機能が必要です (7 は必要ありません)。これを行う方法?

jQuery 1.8 では次のことができます。

if ($.browser.msie && $.browser.version == '8') { /* does not matter */ }

バージョン 1.9$.browserでは削除されました。推奨$.supportは役に立ちません。

4

2 に答える 2

7

ブラウザ検出と機能検出

$.browser何らかの理由で jQuery から廃止されました(1.3 以降)。自分が使いたいものに使用することは、推奨される方法ではありません。特定の機能に依存している場合は、特定のブラウザーをテストするのではなく、その機能をテストします (これは機能検出と呼ばれ、これを行う 1 つの方法です)。$.support

条件付きコメント

本当に古い IE をターゲットにする必要がある場合は、条件付きコメントを使用します(古い IE が存在しなくなり、他のブラウザーを不必要に肥大化させない場合は、簡単に削除できます):

<!--[if IE 8]>
<script src="my_ie8_specific_stuff.js"></script>
<![endif]-->

内部my_ie8_specific_stuff.jsには必要なものを書くことができ、IE8 でのみ実行されます。

<html>要素の条件付きクラス

それを行う別の方法は<html>、条件付きコメントを使用してタグにクラスを配置することです。

<!--[if IE 8]>         <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html>         <!--<![endif]-->

この巧妙でトリッキーな手法は、IE8 にie8クラスを配置htmlしますが、他のブラウザーでは取得できません。

これは jQuery で簡単に確認できます。

var isIE8 = $('html').hasClass('ie8');
于 2013-03-06T21:59:47.093 に答える