7

サイトのモバイル Web ページを作成しましたが、リダイレクトの最適な方法を知りたいです。画面解像度またはユーザー エージェントに基づいてリダイレクトしますか?

画面の解像度は次のようになると思います。

if (screen.width <= 1024) window.location.replace("http://www.site/mobile/")
else window.location.replace("http://www.site/");

PHP を使用すると、スクリプトは次のようになります。

$useragent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/android/i',substr($useragent,0,4)))
header('Location: http://www,site/mobile/');

どちらの方法が優先されますか? もしそうなら、利点は何ですか?

4

2 に答える 2

6

ユーザーエージェント。

Retina ディスプレイのこの時代と、Android デバイスが思いつく限りの画面解像度になる可能性があるという事実では、画面解像度とプラットフォームとの間の相関関係はますます少なくなっています。実際、デスクトップ コンピューターと同じかそれ以上の画面解像度を持つモバイル デバイス (nexus 7、nexus 10、ipad 3+) は数多くあります。解像度だけでは十分に説明できません。

一方、ユーザー エージェントは、何がリクエストを行っているかを伝えるように設計されています。Android または iOS デバイスであることは間違いありません。また、Android では、より適切なターゲティングのために、タブレットの Android-y user-agent 内に文字列「mobile」を含めることは想定されていないと思います。同様に、iPad と iPhone にはそれぞれ、説明できる独自のユーザー エージェント文字列のセットがあります。

于 2012-12-03T21:04:03.587 に答える
0

なぜモバイル サイトを作成したのかを考える必要があります。機能を追加するか (タッチ)、余分な重量を取り除くか (3G) 小さい画面でのナビゲーションを簡素化しますか? タッチ デバイス用に作成した場合は、タッチの可用性を検出します。小さな画面に簡単にアクセスできるように構築した場合は、画面の解像度を選択することができます (1200x720 の SGS3 では完全な画面が表示されますが、それで問題ありません)。あまり考えずにユーザー エージェントで切り替えるのは悪い考えです (UA の "モバイル" の切り替えは良いですが、すべてがサポートしているわけではありません)。ユーザー エージェントに ios が含まれている場合、小さな画面に最適化されたサイトにアクセスしますか? 今はそうしませんが、数年前、iPad が登場する前なら、できたはずです。タッチ対応の Windows ミニ PC で何をしますか? 新しいデバイスごとにすべてのサイトを更新する場合を除き、デバイスではなく機能を考えてください。

モバイル サイトの要件 (タッチ?) とプレーン サイトに追加されるもの (小さな画面の処理の改善?) を書き留めて、それらをテストします。そして、彼らに選ばせてください。

無制限のデータ プランまたは Wi-Fi と大画面のデバイスを使用している場合、完全なサイトの機能が低下したバージョンのモバイル サイトは単純に煩わしいものであることに注意してください。どんな画面サイズでも楽しくナビゲートできます。

とにかく、リダイレクトする場合は、ホームページではなく、他のサイトの同じページにアクセスするようにしてください。だからあなたがいるなら

index.php?language=en&page=about__us

にリダイレクトしてみてください

mobile?language=en&page=about__us

はるかに優れたユーザーエクスペリエンスのために。訪問者がホームページからサイトにアクセスすると想定しないでください。

于 2012-12-03T22:30:23.300 に答える