この記事は公開から1年以上前のものです。
内容が古く、現在では推奨されていない方法の可能性もありますのでご注意ください。
内容が古く、現在では推奨されていない方法の可能性もありますのでご注意ください。
ちょっとやりたいことがあって、プログラマさんに聞いてみたところ、「PHPでやればいいんじゃね?」と助言を頂いたので調べてみてやってみました。PHPはずぶの素人すぎてかなり間違った書き方してると思うけど備考録を…(また使うかもしれないし)。
何がやりたいのかというと、htmlの記述で、特定の部分をiPhoneやAndroidの端末で表示しないようにしたくてですね。
使いたいjQueryファイルがあって、それを使うとPCの閲覧は問題ないんですが、iPhoneなどで見ると(おそらくそのjQueryファイルのせいで)表示が崩れちゃうっていうのが発生しまして。レスポンシブで作ってるサイトなのですが、そのjQueryファイル使うと、display:clearが効かなくなっちゃって、本来非表示にしてるはずの要素が丸見えに…。なんでだ…(;´Д`)ヒー
なので、そのjQueryの記述をPCで閲覧してる時だけ表示して、それ以外の時は非表示にしたいと。
で調べた結果がこれ。
1 2 3 4 5 6 7 8 9 10 |
<?php $ua=$_SERVER['HTTP_USER_AGENT']; if((strpos($ua,'iPhone')!==false)||(strpos($ua,'iPod')!==false)||(strpos($ua,'iPad')!==false)||(strpos($ua,'Android')!==false)) { }else{ echo"PCで閲覧すると表示される"; } ?> |
応用というか、Android、iPhone・iPadでそれぞれ別の内容を表示する書き方はこんな感じ。
1 2 3 4 5 6 7 8 9 |
<?php $ua=$_SERVER['HTTP_USER_AGENT']; if((strpos($ua,'Android')!==false)) { echo"<p>Androidで表示されるよ</p>"; }else if((strpos($ua,'iPhone')!==false)||(strpos($ua,'iPod')!==false)){ echo"<p>iPhoneとiPadで表示されるよ</p>"; } ?> |
動いてるので、いいんだろう、多分…。勉強しねーと駄目よな…。