2017-10-07 16 views
1

私は助けてください?私はデスクトップとモバイル版を持っている私のウェブサイトを作りたいです。 CSS HTML要素の正しい幅にスタイルを設定するのは簡単ですが、のURLはです。 私が知りたいのは、URLをデスクトップ上のホームページに導く方法ですが、モバイルではURLは異なりますが、デスクトップ版と同じホームページに移動しますが、モバイル版になります。 個人的にプレビューする際にエラーを出さずにコードを実行できるコードがあるかどうかは分かりますか?あなたの回答がPHPまたはJavaScriptなどを使用している場合は気にしません。モバイルURLリダイレクトとデスクトップURLリダイレクト

これは私が使用しようとしたコードです。それがうまくいくかどうかはわかりませんでした。おそらくそれは言うことができません。

$(document).ready(function() { 
    $(window).on("load resize", function() { 
     if($(window).width() <= 950) { 
      var mobile = window.location = "/mindex.php"; 
      console.log("The location is " + mobile); 
     } else if($(window).width() > 950) { 
      var desktop = window.location = "/index.php"; 
      console.log("The location is " + desktop); 
     } else { 
      var defaultPlace = ""; 
      console.log("Defualt location: " + defaultPlace); 
     } 
    }); 
}); 

助けてもらえますか?モバイルリダイレクトURLとデスクトップURLを作成するにはいくつかの助けが必要ですが、両方とも同じページにつながりますが、さまざまなバージョンでお願いします。

+0

なぜPHPでこれをしないのですか?または、ブートストラップのようなCSSの定型文を使用しますか?モバイルの最初の開発に焦点を当てています。 –

+0

参照...すべてのページで画面サイズを取得する代わりに、最初にセッション名を設定してセッションを確認し、リダイレクトすることができます。 – GYaN

+0

セッションを使用する代わりに(最悪のアイデアです)OSを取得するためにヘッダーを使用しますデバイス名、デバイスの種類、携帯電話の場合はリダイレクトなどの詳細情報が表示されます。 –

答えて

0

ユーザーエージェントヘッダーをブラウザから送信して、ユーザーがモバイルユーザーかデスクトップユーザーかを確認し、返された値に従ってリダイレクトすることができます。今、あなたがユーザーエージェントを知って

var usrAgent = navigator.userAgent; 

返さユーザーエージェントがモバイルであるかをチェックし、それに応じてリダイレクトする - - あなたはこれを使用してUser-Agentヘッダを確認することができます

function detectMobile() 
{ 
    if(usrAgent.match(/Mobile/i)) 
    { 
     return "Mobile"; 
    } 
} 

var isMobile = detectMobile(); 

if(isMobile) 
{ 
    window.location = "MOBILE_URL"; 
} 
else 
{ 
    window.location = "DESKTOP_URL"; 
} 

また、

-

あなたは、この使用してユーザデバイスの幅に応じて任意のWebページにリダイレクトするために、HTML リンクにタグを使用することができます

<link rel="alternate" media="only screen and (max-width: 640px*)" href="MOBILE_URL_TO_REDIRECT"> 

*要件に応じてこの幅を変更してください。 640pxはモバイルデバイスの理想的な最大幅です。

これがあなたの問題を解決することを願っています。

+0

あなたに正直言って、あなたのコードが動作し、私はそれを試してみましたが、1秒ごとにページをリロードして何も表示しません。停止しない無限ループのように機能します。コンソールのログメッセージが表示されますが、それが動作しているかどうかを表示することを意味します。だからあなたのコードは動作しますが、無限ループのようにページの反復をロードします。だからあなたはこの問題を解決するためのアイディアを持っていますか? :D –

+0

しかし、その問題と同様に、それは多くのおかげで助けになります:D –