2012-01-12 17 views
0

a websiteはモバイルブラウザでアクセスされたときにa different pageにリダイレクトされています。モバイルブラウザを検出するためのエレガントな方法はありますか?

私は、モバイルデバイスを確実に検出する方法を考え出すのに問題がありました。現在、私はこのようなJavascriptのコード:broswerサイズはデスクトップバージョンでサポートされているものよりも小さい場合にリダイレクト

if (document.documentElement.clientWidth < 680 || 
    document.documentElement.clientHeight < 450) 
    location.href = "handheld.aspx"; 

。この問題は、モバイルブラウザの中には、デスクトップデバイスと同様のブラウザサイズのズームアウトが始まるものがあります。

私はこれまでいくつかの調査をしてきましたが、主にユーザーエージェントの盗難を嗅ぎ、それを既存のモバイルデバイスの文字列と照合して解決するソリューションを見つけました。可能であれば、が非常に乱雑であると思われるので、そのルートを避けたいです。新しいデバイスが出てきたら、今後は壊れてしまいます。

モバイルブラウザを検出するためのクルージングの方法はありませんか、少なくとも画面サイズを検出する信頼性の高い方法はありますか?

+1

ディスプレイサイズテストで_browser_のサイズをテストしない場合は、_screenのサイズをテストしてください:_ ['window.screen.width'](https://developer.mozilla.org/ja/) DOM/window.screen.width)。関連する質問のリストを見ると、これは以前に尋ねられていることがわかります。モバイル用のページにフルサイトに戻るためのリンクがあることを確認してください(また、クッキーなどを使用して、どのユーザーがフルサイトに戻ったかを覚えておくことが理想です)ので、毎回手動で行う必要はありません。 – nnnnnn

+1

「モバイルブラウザ」を検出したいのはなぜですか?このようなブラウザの特徴は、画面サイズを縮小することです。 (可能な)タッチインターフェース?限られた帯域幅? – RobG

答えて

3

を確認するのいずれかで立ち往生しています。画面サイズを検出し、小さな画面に収まるサイトデザインにリダイレクトしようとしていますか?その場合は、window.screendoc here)を使用できます。

モバイルブラウザで特定の機能や機能の不足を検出しようとする場合は、機能の検出機能を使用して、指定された機能が存在するかどうかを調べる必要があります。これは、ブラウザのユーザーエージェントを検出するよりも優れています。

0

いいえ、あなたは、あなたが最も検出しようとしているモバイルブラウザのどの側面を決定する必要があり、画面サイズ、またはユーザエージェント

0

これを簡単に修正したい場合は、お試しくださいhandsetdetection javascriptリダイレクトの画面サイズ、ベンダー、OS、ブラウザ、ディスプレイの幅と高さなどのルールと条件を設定できます。また、統計情報が好きな人には、リダイレクトをサイトユーザー/訪問者に提供する方法を細かく調整するために使用できる優れた分析レポートが用意されています。

0

新しい画面サイズが左右にポップアップしている世界では、画面サイズに基づいた検出は敗戦です。サーバー側の検出を使用し、それに応じてビューを変更する必要があります。 Device AtlasやWURFLのようなサービスを使用することで、将来あなたを証明し、自分で達成する可能性のある機能をさらに提供できます。

JSベースのモバイルリダイレクトは、パフォーマンス面では最悪の解決策であり、避けるべきです。

関連する問題