モバイル端末からアクセスしてきた場合、専用ページにジャンプさせたい。
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
関連エントリー
