回答:
UserAgent検出を使用するか、jQuery.support()を使用できます。特定の機能を探しているので、2つを組み合わせて目的のものを取得できます。
UserAgentが実際の最善策かもしれません。.htaccessファイルを使用してこれを実行し、http要求を削減します。接続が遅い場合やJavaScriptのパフォーマンスが遅い場合は、リダイレクトの前にメインサイトをフラッシュする可能性があります。
モバイルユーザーエージェントの(主に)網羅的なリストは、ウィキペディアのページで確認できます。ご覧のように、正規表現で探すことができるメーカーとバージョンの間には類似点があります。
あなたの質問は、2つの部分..リダイレクトとhtml5の互換性に触れます。
リダイレクション
次の.htaccessを使用しています。
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android" [NC]
RewriteRule ^(.*)$ http://m.example.com/ [L,R=302]
PHPの場合、このライブラリを使用できます:http : //detectmobilebrowsers.mobi/ ...しかし、処理時間とセキュリティのためにhtaccessを使用することを強くお勧めします。
ここでいくつかの追加の例を見つけることができます
http://ohryan.ca/blog/2009/02/18/revisiting-mobile-redirection-using-htaccess-rewrite-rules/
ブラウザ機能
私のAndroidフォンは、地理位置情報コード付きのhtml5で問題ありません。Modernizr JavaScriptライブラリを使用して、ページにアクセスするクライアントブラウザの機能を検出することを検討してください。
優れた HTML5ボイラープレートテンプレートは、そのままの状態でmodernizrを使用して、この種のニーズをサポートしています。
私の意見は、私はhtaccessメソッドを使用して、modernizrでサポートされている最近の電話とブラウザを除き、AndroidとiPhoneのユーザーがModernizrでhtml5機能のサポートをチェックし、「ジオロケーションなし」バージョンの「残り」をリダイレクトできるようにすることをお勧めします。
Modernizrの例:
if (Modernizr.geolocation) {
// do stuff
}else{
// propose mobile version
}
お役に立てれば