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