LoginSignup
16
17

More than 5 years have passed since last update.

ガラケーとIE6〜10を除外したい場合、UserAgentに Gecko が無いことで判定すればよさそう

Last updated at Posted at 2016-07-12

ユーザーエージェント(User Agent)情報 解析/まとめ

  • Gecko が含まれる => iPhone, Android, IE11、Edge, Chrome, Firefox, Safari
  • Gecko が含まれない => IE6〜10、ガラケー他
  • Android が含まれる => Android製品
  • X11 が含まれる => X11
  • iPhone, ipod, ipad が含まれる => Apple製品

目的

「cssやjavascriptが一切使えないガラケー」向けに作られたサイトがある。
ガラケーからのアクセスはもはやほとんど無い。

そこにスマホ対応としてcssを書きたいがガラケーには一切影響が無いようにしたい。
ガラケーでは<script>タグcssがそのまま平文として表示される可能性がある。
auのガラケーならページが真っ白になるかも。

cssに苦しめられるIE6〜10について、今から着手するならIE11以外はサポート終了と考えて良さそう。(vistaも来年までか。)

判定

P01GMozilla/5.0 (P01G;FOMA;like Gecko)

function is_gecko() {
    if (strpos($_SERVER['HTTP_USER_AGENT'], "Gecko") === false) {
        return false;
    }
    // FOMAのフルブラウザを除外
    if (strpos($_SERVER['HTTP_USER_AGENT'], ";FOMA;") !== false) {
        return false;
    }
    return true;
}
function is_apple() {
        return preg_match('/iPhone|iPod|iPad|Macintosh/', $_SERVER['HTTP_USER_AGENT']);
}
iPhoneでoptionの文字列が長すぎて表示しきれない場合用
<select>
...
<?php if(is_apple()) : ?>
<optgroup label=""></optgroup>
<?php endif; ?>
</select>
X11
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
w3m(linux)
w3m/0.5.3+git20151119
16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17