3

数行の Java スクリプト コードをコーディングしました。しかし、それが正しいかどうかはわかりません。数か月前、デスクトップ版の Web サイトを公開しました。しかし、ユーザーがモバイル (Android、iPhone、または Windows Phone など) を介してアクセスする場合、新しいパスにリダイレクトしたいと考えています。コードは次のとおりです。

// JavaScript Document
var uAgent = navigator.userAgent.toLowerCase();

if(uAgent.indexOf("android") > -1 || uAgent.indexOf("iphone") > -1 || uAgent.indexOf("windows phone") > -1) {
    window.location = "http://website path will come here.";
}

正しいコードですか?

4

3 に答える 3

4

それはうまくいきますが、いくつかの理由でこれを行うには良い方法ではありません:

  1. JavaScript が無効になっているユーザーはリダイレクトされません

  2. モバイル ユーザー (ブラウザが遅く、帯域幅制限が厳しいユーザーもいます) は、モバイル サイトにリダイレクトされる前にデスクトップ ページをダウンロードします。

可能であれば、より良いアプローチは、理想的にはリダイレクトをまったく使用せずに、Web サーバー構成を介してこれを管理することです。または、すべてのユーザーに同じコンテンツを提供し、メディア クエリでレイアウトを変更することを検討してください。

于 2012-09-26T12:10:26.417 に答える
4

本当にモバイル ブラウザを検出する必要がある場合 (モバイル ブラウザで動作するInitializrのレスポンシブ テンプレートのようなモバイル フレンドリーなレスポンシブ レイアウトを作成する代わりに- Google は「モバイル ファースト」を意味し、「レスポンシブ デザイン」はその他の例を示します)、これらのリンクを見てください:

iPhone、Android、Windows だけでなく、数多くのモバイル ブラウザーが存在するため、それらを検出するには、正しく行う必要があります。jQuery Mobileも参照してください。これは、作業を楽にする優れたモバイル フレームワークです。

于 2012-09-26T12:07:47.923 に答える
2
uAgent.indexOf("android") > -1

Android は単なるスマートフォンのオペレーティング システムではありません。また、ほとんどのWebサイトのデスクトップ最適化バージョンを簡単に処理できる多くのタブレットでも実行されます. 私の友人は、通常のバージョンは 10.1 インチの画面ではきれいに見えるのに、一部の Web サイトではモバイル バージョンのみを彼の GalaxyTab に提供していると不満を漏らしていました。

また、blackberry と symbian フォンのことも忘れていました。

于 2012-09-26T12:16:48.670 に答える