20
$(window).load(function () {
   if($.browser.msie && $.browser.version=="6.0") {
     // do stuff
   }
});

$.browser が 1.3 で減価償却されていることに気付きました。IE、特に IE6 を検出する新しい方法は何ですか。

4

3 に答える 3

19

jQuery ドキュメントにjQuery.browserは、次の警告が表示されます。(強調は私です。)

はプラットフォームの判別に$.browser使用されるため、ユーザーによるなりすましやブラウザー自体による偽装に対して脆弱です。可能な限り、ブラウザー固有のコードを完全に避けることが常に最善です。依存する代わりに、Modernizrなどのライブラリを使用することをお勧めします。navigator.userAgent$.browser

ドキュメントページには次のようにも書かれています:

このプロパティは jQuery 1.9 で削除され、jQuery.migrate プラグインを介してのみ使用できます。代わりに機能検出を使用してみてください。

古いドキュメントから提案された にもjQuery.support、次の警告があります。(強調は私です。)

さまざまなブラウザー機能またはバグの存在を表すプロパティのコレクション。jQuery の内部使用を目的としています。ページの起動パフォーマンスを向上させるために、特定のプロパティが内部的に不要になった場合は削除される場合があります。独自のプロジェクトの機能検出のニーズについては、 のプロパティに依存するのではなく、Modernizrなどの外部ライブラリを使用することを強くお勧めしますjQuery.support

の以前のドキュメントでjQuery.supportは、次のプロパティと値が報告されました。

  • $.support.boxmodelfalseIE 6 および 7 にあります。
  • $.support.cssFloatfalseIE 6、7、および 8 用です。それはtrueIE 9にあります。
  • $.support.leadingWhitespacefalseIE 6、7、および 8 用です。
  • $.support.objectAll現在false、IE 6、7、および 8 用です。
于 2009-12-22T04:32:03.097 に答える
6

ドキュメントからホット: このプロパティを使用しないことをお勧めします。代わりに機能検出を使用してみてください ( jQuery.supportを参照)。

于 2009-12-22T04:33:00.843 に答える