LoginSignup
3

More than 5 years have passed since last update.

ユーザーエージェント判定(JS)

Last updated at Posted at 2013-09-17

自分用のメモ。
試していないのもあるので、正しいかどうかは未検証です。

var cmn = [];

// ユーザーエージェントの取得
cmn.ua = window.navigator.userAgent.toLowerCase();


// 各ブラウザ(PC)
cmn.ua_ie7 = (cmn.ua.indexOf('ie 7.') > 0) ? true : false;
cmn.ua_ie8 = (cmn.ua.indexOf('ie 8.') > 0) ? true : false;
cmn.ua_ie9 = (cmn.ua.indexOf('ie 9.') > 0) ? true : false;
cmn.ua_ie10 = (cmn.ua.indexOf('ie 10.') > 0) ? true : false;
cmn.ua_chrome = (cmn.ua.indexOf('chrome') > 0 && cmn.ua.indexOf('safari') > 0) ? true : false;
cmn.ua_safari = (cmn.ua.indexOf('chrome') === -1 && cmn.ua.indexOf('safari') > 0) ? true : false;
cmn.ua_firefox = (cmn.ua.indexOf('firefox') > 0) ? true : false;
cmn.ua_opera = (cmn.ua.indexOf('opera') > 0) ? true : false;

// IEバージョン判別
cmn.ua_ie = (cmn.ua_ie7 === true || cmn.ua_ie8 === true || cmn.ua_ie9 === true && cmn.ua_ie10 === true) ? true : false;
cmn.ua_ie8lte = (cmn.ua_ie7 === true || cmn.ua_ie8 === true) ? true : false;
cmn.ua_ie9lte = (cmn.ua_ie7 === true || cmn.ua_ie8 === true || cmn.ua_ie9 === true) ? true : false;

// ブラウザエンジン
cmn.ua_webkit = (cmn.ua.indexOf('webkit/') > 0) ? true : false;   // Safari, Chrome系
cmn.ua_gecko = (cmn.ua.indexOf('gecko/') > 0) ? true : false;   // Firefox系
cmn.ua_presto = (cmn.ua.indexOf('Presto/') > 0) ? true : false;   // Opera系


// 各ブラウザ(TB)
cmn.ua_iPad = (cmn.ua.indexOf('iPad') > 0) ? true : false;
cmn.ua_AndroidTab = ((cmn.ua.indexOf('Android') > 0 && cmn.ua.indexOf('Mobile') === -1) || cmn.ua.indexOf('A1_07') > 0 || cmn.ua.indexOf('SC-01C') > 0) ? true : false;    // A1_07とSC-01CはタブレットにもかかわらずMobileのUAが付与される(2013/02現在)

cmn.ua_TAB = (cmn.ua_iPad === true || cmn.ua_AndroidTab === true) ? true : false;

// 各ブラウザ(SP)
cmn.ua_iPhone = (cmn.ua.indexOf('iPhone') > 0) ? true : false;
cmn.ua_iPod = (cmn.ua.indexOf('iPod') > 0) ? true : false;
cmn.ua.Android = (cmn.ua.indexOf('Android') > 0 && cmn.ua.indexOf('Mobile') > 0) ? true : false;
cmn.ua_WinPhone = (cmn.ua.indexOf('Windows Phone') > 0) ? true : false;
cmn.ua_Blackberry = (cmn.ua.indexOf('Brackberry') > 0) ? true : false;

cmn.ua_SP = (cmn.ua_iPhone === true || cmn.ua_iPod === true || cmn.ua_Andorid === true || cmn.ua_WinPhone === true || cmn.ua_Blackberry === true) ? true : false;

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
3