Tips476「ユーザーエージェントで判別する」を読んでスマホ対応ルーチンに書き換える

Icon comment count 0
Icon stock count 6

Tips476「ユーザーエージェントで判別する」がガラケー時代の遺物になっていたので、スマホ対応に書き換えます。

2015/06/26 13:09:52
 

Tips476「ユーザーエージェントで判別する」がガラケー時代の遺物になっていたので、スマホ対応に書き換えます。元のコードでは、preg_match関数で正規表現にマッチングを使っている様子。よく見ると、J-PHONEとか、Vodafoneとかいう文字列とマッチをとっていて、なんだか時代の流れを感じますね。

 

今回は「preg_match 関数」よりも早いと噂の「strpos 関数」を使ってみたいと思います。strpos関数は文字列内の部分文字列が最初に現れる場所を見つける関数で、いっけん関係なさそうに思えます。が、指定文字列が見つからないときにFALSEを返してくれるんで、これを逆手にとれば、コードを書けそうです。詳しい使い方は上のリンクを見てください。

 

さて、ua別の振り分けをどうするかですが、PC用、スマホ用、ガラケー用の他にタブレット用なんてのがあると良いのかもしれません。タブレットユーザーは、画面の広さがそこそこあるので、PC用と変わらないレイアウトでサイトを見たいというニーズがありそうです。iPadはua文字列のなかにiPadを入れてくれていて、すぐに判定できますが、問題はAndroidのタブレット。こいつは上のリンクを読む限り、Mobileという文字列の有無で切り分けるしかなさそうです。

 

で、最終的に書き上げてみたコードがこれです。面倒なのでPHPコードの部分だけ書きました。
Tips476ではechoでuaを返すだけでしたが、ua別に用意したサブディレクトリ中のindex.htmlに飛ぶような処理を含めています。

このエントリーをはてなブックマークに追加

コメント

    コメントはありません