ユーザーエージェントを見て遷移先を振り分ける

モバイル端末からアクセスしてきた場合、専用ページにジャンプさせたい。
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)
たにぐちまこと
アスキー・メディアワークス
売り上げランキング: 7599

関連エントリー

  1. アップローダ(PHP)続き
  2. PhoneGapお試し(iOS)
  3. iOS お絵かきアプリ (未完)
  4. Xcodeのバージョンアップ
  5. PhoneGapでiOSとAndroidアプリをつくる
This entry was posted in 未分類 and tagged , , , , . Bookmark the permalink.