0

モバイルデバイスとAppleデバイスでWebページが正しくレンダリングされないので、それらの代替バージョンを作成しました。メインのデバイスにアクセスするときに、できればhtmlのみを使用して、これらのデバイスに代替バージョンをロードさせるにはどうすればよいですか?

4

1 に答える 1

4

サイトのロジック側(php / javascript)にアクセスできる場合は、ブラウザがリクエストで送信するユーザーエージェント文字列に「iPhone」、「iPad」、または「Android」が含まれているかどうかを確認するチェックを実装できます。次に、「Location」応答ヘッダーを使用して、この別のページにリダイレクトできます。例えば:

JavaScript:

if( navigator.userAgent.match(/iPhone/i) ) { 
    window.location = "http://address.to.your.mobile.site/";
} 

PHP:

if (strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') !== false) {
    header('Location: http://address.to.your.mobile.site/');
}

私はPHPソリューションを好みます:ブラウザはウェブサーバーにリクエストを送信します。Webサーバーは、ユーザーエージェントがモバイルデバイスであると認識し、正しいページにリダイレクトします。JavaScriptソリューションがWebページを要求する場所として、それを受信し、JavaScriptをロードして、新しい要求をWebサーバーに送信します。(私はそれがこのように起こると信じています、私が間違っているなら私を訂正してください)

さらに、コメントで述べたように、すべてのユーザーがブラウザでJavaScriptを有効にしているわけではありません。

于 2012-12-20T10:34:36.863 に答える