私はjqueryが初めてで、疑問に思っていました。ブラウザがInternet Explorer 6以下であるかどうかを検出する簡単な方法ですか?
これと同じくらい簡単:
if($.browser.msie && $.browser.version=="6.0") alert("Im the annoying IE6");
更新
$。browser は jQuery 1.9から削除 であることに注意してください
JQuery 1.9(または他の非推奨の関数)で$ .browserを使用する必要がある場合は、jQuery-migrate( https://github.com/jquery/jquery-migrate/ - http://code.jquery.com/jquery-migrate-1.2.1.js )
IEを直接求めることもできます。
<!--[if lte IE 6]>
<script type="text/javascript">
var isRunningIE6OrBelow = true;
</script>
<![endif]-->
jQueryは、「ブラウザ」ではなく機能をチェックします。つまり、 jQuery.support メソッドを使用して、ユーザーのブラウザが何を実行できるかを検出できます。
非推奨のメソッド(使用しないでください)
http://docs.jquery.com/Utilities/jQuery.support は、どのブラウザがどの機能をサポートしているかの概要を示します。そのデータを取得して、使用されているブラウザーがターゲットブラウザーであるかどうかを判断する条件付きチェックをいくつか開発します。
if ($.browser.msie && parseInt($.browser.version, 10) <= 6) {
alert("I'm not dead yet!");
}
-更新
$。browser が jQuery 1.9から削除 であることに注意してください
検出する非常に良い方法IEは:
if ('v'=='\v') {
welcome to IE ))
}
残念ながら、そのバージョンを認識することはできませんが、必ずしもネセカリーではありません。
ActiveXObject
が存在し、XMLHttpRequest
が存在しない場合、IE6です。
/* IE6 Check */
(!!window.ActiveXObject && !window.XMLHttpRequest) ? true : false;
IE7では、次のようになります。
(!!window.ActiveXObject && !!window.XMLHttpRequest) ? true: false;
参考文献
ブラウザのバージョンをよく確認します。 .supportメソッドは優れていますが、オーバーレイがあるときに選択を非表示にする必要がある場合には、実際には役に立ちません。 「サポートの選択はウィンドウ化されたコントロール」はありません。ブラウザーのバージョンを確認する必要があるだけなので、できる限り.supportメソッドに向かってerrと言い、必要に応じて.browserを使用します。
また、もう1つの良い点は、JQueryを使用すると、バージョンについて心配する必要がないことです。
ただし、jqueryを使用してIE6 cssレンダリングのバグを修正している場合、これは役に立ちません。
人々に$ .browser.msie && /6.0/.test(navigator.userAgent)が信頼できないことを知らせるために、私は自分のマシンで壊れるJQuery bgiframeの問題に対する答えを探してこの質問に来ました。 navigator.userAgent文字列に「Media Center PC 6.0」があります。 $ browser.versionテストを使用するようにソースを編集しました。
ブラウザーのエコシステムのugい状態に対処するために必要な場合があるため、これらのブラウザーテストを非推奨にするJQueryの愚かさ。
http://docs.jquery.com/Utilities/jQuery.browser.version はどのように
編集済み:ダグラスからの修正されたリンク
http://api.jquery.com/jQuery.browser/#jQuery.browser.version
つまり、最新の1.3ではなく古いバージョンを使用している場合...
また、もう1つの良い点は、JQueryを使用すると、バージョンについて心配する必要がないことです。 JQueryは機能のテストを実行し、すべての不自然な処理を行います。バージョンとプラットフォームの心配はかなり1999
これを試してください:
jQuery.each(jQuery.browser, function(i, val) {
$("<div>" + i + " : <span>" + val + "</span>")
.appendTo(document.body);
});
さらに情報が必要な場合は、これを参照してください。
「jQuery.browserが削除されることはほとんどありませんが、jQuery.supportを使用するためのあらゆる努力と適切な機能検出を行う必要があります。」
だから私は先に行くとそれを使用すると言います。ユーザーエージェントスニッフィングメソッドをまだ使用するスクリプトとの後方互換性を維持する必要があります。