UAごとにリダイレクト/表示切替する方法( Javascript編 / PHP編 )

この記事は5年前に書かれました。不適当な記述を含む場合がありますので、参考程度に留めてください。

iPhone、ipad、Androidなどのユーザーエージェントを取得して専用の表示をする方法2パターン

javascriptを使ってUAごとにリダイレクトする

[code lang=”js”]
function checkDevice(device) {
var ua = navigator.userAgent;
if (device == ‘apple’) { return RegExp(‘iphone|ipod|ipad’, ‘i’).test(ua); }
else if (device == ‘android’) { return RegExp(‘android’, ‘i’).test(ua); }
else if (device == ‘mobile’) { return RegExp(‘iphone’, ‘i’).test(ua) || (RegExp(‘android’, ‘i’).test(ua) && RegExp(‘mobile’, ‘i’).test(ua)); }
else if (device == ‘tablet’) { return RegExp(‘ipad|android’, ‘i’).test(ua); }
else if (device == ‘android mobile’) { return RegExp(‘android’, ‘i’).test(ua) && RegExp(‘mobile’, ‘i’).test(ua); }
else if (device == ‘android tablet’) { return RegExp(‘android’, ‘i’).test(ua); }
else { return RegExp(device, ‘i’).test(ua); }
}

if (checkDevice(‘iphone’)) {location.href = ‘<?php echo $url;?>iphone/’;}
else if (checkDevice(‘ipad’)) {location.href = ‘<?php echo $url;?>ipad/’;}
else if (checkDevice(‘android mobile’)) {location.href = ‘<?php echo $url;?>android/’;}
else if (checkDevice(‘android tablet’)) {location.href = ‘<?php echo $url;?>androidtab/’;}
else{location.href = ‘<?php echo $url;?>pc/’;}
[/code]

PHPを使ってページ内でUAごとに表示切り替え


<?php
$agent = $_SERVER[‘HTTP_USER_AGENT’];
if (strpos($agent, ‘iPhone’) !== false){
$browser = ‘iphone’;
}else if (strpos($agent, ‘Android’) !== false){
$browser = ‘Android’;
}
?>

<?php if($browser == ‘iphone’){ ?>

<h1>iPhone</h1>

<?php }else if($browser == ‘Android’){ ?>

<h1>Android</h1>

<?php }else{ ?>

<h1>PC</h1>

<?php } ?>