iPhone/iPadとiOSのバージョン判別

goto_jp 6,201views 更新:2014年4月14日

開いているデバイスかiPhoneかiPadか、そのうえでiOSのバージョンを判別するスクリプトです。

JavaScript

var ua = navigator.userAgent;
if(/iPhone/.test(ua)) {
    ua.match(/iPhone OS (\w+){1,3}/g);
    var osv=(RegExp.$1.replace(/_/g, '')+'00').slice(0,3);
    if(osv >= 700) {
        alert("iPhoneのiOS7以上");
    } else {
        alert("iPhoneのiOS7未満");
    }
} else if(/iPad/.test(ua)) {
    ua.match(/CPU OS (\w+){1,3}/g);
    var osv=(RegExp.$1.replace(/_/g, '')+'00').slice(0,3);
    if(osv >= 700) {
        alert("iPadのiOS7以上");
    } else {
        alert("iPadのiOS7未満");
    }
}

UAを取得後、文字列内よりiPhoneかiPadかで分岐したあと、バージョン数を3桁の数値でosvに格納して判別しています。

iOS5から6の時は地図の変化っぷりからiOS5のまま残すという人も結構いたのと、iOS5と6のSafariで微妙にバグの差があったのでバージョン判別がたまに必要でしたが、iOS6以降はバージョンごとのブラウザバグもあまり見られなくなったので今や過去の遺産かも…

参考:http://blog.lunatic-code.net/webdesign/javascript/658/

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません