2011-12-14 11 views
4

私が行ったすべての読書から、 私は、スプーフィングされる可能性があるので、ユーザーエージェント文字列の使用は推奨されないことを理解しました。デバイスは、妨げられることがあります。どのようにブラウザの機能を検出するには?

私は、ブラウザ機能のテストを行うことをお勧めします。

どうすればいいですか?つまり、標準的な能力テストがありますか?これは次のようなものです:object detection

もう1つの懸念事項は、ユーザーがサイトにアクセスするたびにオーバーヘッドが含まれないことですか?私はいくつかのクッキーを使ってこれを打ち消すことができます。

jQueryのようなサードパーティのプラグイン/フレームワークを使用することはお勧めしません。

+1

悲しいをサードパーティをしたくありません](http://www.modernizr.com/)は、あなたが望むものとまったく同じです。 –

+1

私のポイントは、私はこれを行う方法を学ぶことです。しかし、リンクを見ていただきありがとうございます。 – ThinkingMonkey

+1

http://www.quirksmode.org/js/detect.html – noob

答えて

5

Modernizrは、機能検出を行うライブラリです。ライブラリをそのまま使用して、目的の機能をクエリするか、特定の機能を検出してそれを自分のコードにコピーする方法を調べることができます。

特定の機能に対してどのように機能検出を行うかは、特定の機能に完全に依存します。

通常、実際の機能の検出は非常に高速です(おそらく、クッキー内の何かを検索/格納するよりも高速です)。さらに、ユーザーが能力の変化するブラウザの新しいバージョンにアップグレードする場合、毎回機能検出を行うことをお勧めします。

あなたはArrayオブジェクトに.forEach()メソッドを使用できるかどうかを知りたい場合たとえば、あなたは、単にこの使用することができます:[Modernizrので

if (Array.prototype.forEach) { 
    // enter code here 
} 
+0

「実際の機能の検出は一般的に非常に高速です」ということを指摘してくれてありがとう。私はここに記載されたリンクを通って行くでしょう。そして戻ってください。 – ThinkingMonkey

2

ここには、この件について語っているMSDN雑誌の記事があります:No Browser Left Behind: An HTML5 Adoption Strategyです。

フレームワークを使用することに言及していますが、説明なしに説明されているテクニックを適用できます。

+0

リンクをありがとう。全体的に行くとここに戻ります。もっと読む:)。 – ThinkingMonkey

関連する問題