javascript使用したスマートフォンの判定(判別)

スマートフォンの判定(javascript使用)
iPhoneまたは、Androidの場合は自動的にスマフォサイトに飛ばします。

以下のタグをPCサイトのindex.htmlのhead部分に貼り付け、スマフォサイトのURLを記述すればOKです。

iPhoneでは確認し、OKでしたが自分はPHPでしか行っていないので責任は負いかねます。。。
phpが使える環境であればPHPを使ったほうが良いでしょう。
PHP版はこちらを参照してください。
http://www.kens-web.com/2011/06/1244


<script type="text/javascript">
if (document.referrer.indexOf('サイトのドメインを記述(PCサイトへ行った際に強制的にスマフォサイトへ飛ばされるのを回避するため)') == -1 && ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0)) {
 location.href = 'スマフォサイトのトップのURL';
}
</script>

変更するのは2箇所。
スマフォサイトのトップページのURLと、
スマフォサイトからPCサイトへ行った際に自動的にスマフォサイトへ飛ばされるのを防止するため、サイトのドメインを記述する。
※PCサイトを見たい人のためにスマフォフォサイトにはPCサイトへのリンクを設置するのが良いため。

以下はキックジムのサイトの場合の例


<script type="text/javascript">
if (document.referrer.indexOf('muay-thai-pck.com') == -1 && ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0)) {
 location.href = 'http://www.muay-thai-pck.com/smp/';
}
</script>

スマフォでPCサイトを閲覧中、トップページに行くたびにスマフォサイトへ飛ばされるのを防止するため必ずドメインだけを指定する。
document.referrerはリファラ情報と呼ばれ、直前に見ていたサイトのURLを意味します。
なので、直前にスマフォサイトを見ていた場合と、PCのほかのページを見ていた場合は必ずドメインが含まれることになります。

記事の内容が近いもの:

  1. phpでスマートフォンの判別(判定)
  2. jQueryMobileで作るスマートフォンサイトのHelloWorld
  3. スマートフォン(スマホ)Androidでのmp4再生のための作業録
  4. Web管理者が知っておくべきスマートフォンブラウザの問題点
  5. スマフォサイトをPCで表示確認するためのブラウザ
  6. iPhone良いとこ悪いとこ(あくまで主観)そしてSDで電話帳移行

カテゴリー: スマートフォン   パーマリンク

コメントは受け付けていません。