3

ご存知かもしれませんが、jQuery の最新バージョンでは$.browserサポートが削除されています。ユーザーが Firefox 3.6 以下を使用しているかどうかを知る必要があります。ユーザーエージェントを見るのではなく、利用可能な機能を使用してそれを検出する方法はありますか?

この検出が必要な理由は、別の要素を使用してアップロード ボタンのスタイルを設定し、非表示のアップロード要素のクリックをトリガーするためです。これは FF <= 3.6 では機能しません。

明確化

  1. アップロード時にイベントをトリガーするの$('#uploader').trigger('click')は機能しません
  2. これが事実であることを知るためにユーザーエージェントを見たくありませんが、それが唯一の方法であると言うのは受け入れられる答えかもしれません
  3. この「機能」がそれを検出するためにどうなるかわかりません
4

2 に答える 2

3

はい、実際には、ユーザー エージェントの検出ではなく、機能の検出が推奨される方法です。(したがって、jQueryが$.browser機能を削除した理由)

FF3.6 にはない機能がたくさんありますが、主な目的は、特に使用する必要がある機能を検出することです。

機能に基づいてブラウザが FF3.6 かどうかを調べようとしないでください。それは、特徴検出の全体的なポイントを無効にしているだけです。それを行っている場合は、UA 検出を行うこともできます。

あなたがしなければならないことは、あなたのサイトがどのような機能を使用しているかを調べることです (あなたはあなたのサイトについて何も言及していないので、ここでは推測することしかできません)。次に、使用している機能がなければサイトを壊すような検出スクリプトを実行し、欠落している機能が見つかったときにそれに応じてサイトを動作させます。(これは、サイトが機能しないことをユーザーに警告したり、代替手段を挿入したり、ポリフィルをロードしたりする可能性があります...正確に何をするかは、機能が何であるか、サイトがそれを使って何をするかによって異なります)

PS - 機能検出の詳細については、 Modernizrライブラリを調べることをお勧めします。

それが役立つことを願っています。

[編集]

あなたはファイルのアップロード機能について言及しました...おそらくここでの回答が役立つでしょうか?

于 2013-08-06T14:18:58.383 に答える
0

ブラウザ検出は推奨される手法ではありません - これを見てください: ブラウザ検出と機能検出

于 2013-08-06T14:15:43.953 に答える