2012-04-14 9 views
1

多くの人が以下を使ってiPadやiPhoneを検出します。navigator.userAgentモバイルデバイスを検出しますか?

<script> 
var agent=navigator.userAgent.toLowerCase(); 

var useHTML5 = (agent.indexOf('iphone')!=-1 || agent.indexOf('ipad')!=-1); 

if (useHTML5){ 
document.write(""); 
} else{ 
document.write(""); 
} 
</script> 

私も他のモバイル(とにかく少なくともAndroidデバイス)をチェックしたい場合にのみ計算されたiphoneを検出するためのアップル公式の方法は

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    // iPad-specific code 
} else { 
    // iPhone-specific code 
} 

しかし、何ですか?

私はModernizrに頼るべきですか? またはスクリプトの http://detectmobilebrowsers.com/から?

VideoJSでFancyBoxを使用している特定のケースで追加したいだけです。

+2

ここで本当に気にかけていることについて話し合うべきでしょうか?いくつかの携帯電話が持っていることを知っている特定の機能を探していますか?小さな画面用に異なるサイトデザインを行っていますか?特定のHTML5機能を検出しようとしていますか?最後に、特定のブラウザタイプではなく、気になる正確な特性(画面サイズ、機能の可用性、パフォーマンス特性など)を検出する方がはるかに優れています。 – jfriend00

+0

そして、特定のブラウザはuserAgentを変更してこれを役に立たなくすることができます – petschekr

答えて

1

MobileESPプロジェクトには、JavaScriptでユーザエージェントの検出方法のソリッドアレイがあります。MobileESP API: JavaScriptは、一部のデバイスでJavaScriptがサポートされていないため、サーバ側の検出が適切な方法であるため単純に非常に制限されています。 DeviceAtlas Productsは、必要に応じて、必要に応じてデバイスの機能に関する詳細情報を提供する予定です。