モバイル端末からアクセスしてきた場合、専用ページにジャンプさせたい。
iPhone+Android スマートフォンサイト制作入門 (WEB PROFESSIONAL)
に解説があった。
JavaScriptはnavigator.userAgent.indexOf(‘xxx’)で指定文字列が含まれるかを判定していた。
PHPは$_SERVER['HTTP_USER_AGENT']でユーザーエージェントを取得し、strpos関数で判定していた。
確認ページ:accesscontrol.html
iPhone、iPod touch、Android、Windows Phoneでアクセスすると、モバイルページに、他ではPCページに遷移する
JavaScript版
function is_mobile() { var result = false; var ua = navigator.userAgent; if ((ua.indexOf('iPhone') > 0) || (ua.indexOf('iPod') > 0) || (ua.indexOf('Android') > 0) || (ua.indexOf('Windows Phone') > 0)) { result = true; } else { result = false; } return result; } if (is_mobile() === true) { location.href = './accesscontrol_mobile.html'; } else { location.href = './accesscontrol_pc.html'; }
PHP版
if (is_mobile() === true) { header('Location: ./accesscontrol_mobile.html'); } else { header('Location: ./accesscontrol_pc.html'); } function is_mobile() { $result = false; $ua = $_SERVER['HTTP_USER_AGENT']; if ((strpos($ua, 'iPhone') === false) && (strpos($ua, 'iPod') === false) && (strpos($ua, 'Android') === false) && (strpos($ua, 'Windows Phone') === false)) { $result = false; } else { $result = true; } return $result; }
ユーザーエージェント確認:user_agent.html
手持ちの端末のユーザーエージェント
iPod touch
Mozilla/5.0 (iPod; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3
iPad
Mozilla/5.0 (iPad; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3
Galaxy Nexus (Chrome)
Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/535.7 (KHTML, like Gecko) CrMo/16.0.912.77 Mobile Safari/535.7
HTC Radar
Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Radar C110e)
iPhone+Android スマートフォンサイト制作入門 (WEB PROFESSIONAL)
posted with amazlet at 12.03.28
たにぐちまこと
アスキー・メディアワークス
売り上げランキング: 7599
アスキー・メディアワークス
売り上げランキング: 7599
関連エントリー