2013-11-29

スマートフォンの振り分け

iPhoneAndroidからのアクセスを判断するには、
ユーザーエージェント文字列を利用する。


ユーザーエージェントとは・・・webサイトへアクセスするプログラムのこと。webブラウザがHTTP通信時にサーバーへ送信する固有の文字列情報。(OS・ブラウザー・バージョンといった情報)




iPhoneには必ず【iPhone】というキーワードが、Androidには【Android】が含まれる。
ipadは【iPad】




●ユーザーエージェント文字列をjsで取得

navigator.userAgent

本のサンプルより↓
  if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { if(confirm('このサイトにはスマートフォン用のサイトがあります。€表示しますか?')) { location.href = 'http://iphone.playgroup-kiba.com'; } } 


.indexOf・・・判断するメソッド

指定したキーワードを発見できない場合→「-1」
指定したキーワードを発見できた場合→「0」より上

「||」・・・またはの意




●ユーザーエージェント文字列をPHPで取得

本のより↓
  <? $agent = $_SERVER['HTTP_USER_AGENT']; if((strpos($agent,'iPhone') !== false && strpos($agent,'iPad') === false) || strpos($agent,'ipod') !== false || stropos($agent,'Android') !== false){ ?> <script type="text/javascript"> if(confirm('表示しますか?')){ location.href='URL' } </script> <? } ?>  

0 件のコメント:

コメントを投稿

アマゾン和書/最新の情報