LoginSignup
22
21

More than 5 years have passed since last update.

ユーザーエージェント、ブラウザ種類を詳しくチェックするスクリプト

Last updated at Posted at 2013-10-26

ユーザーエージェントや、ブラウザの判別(特にIE)をしたいときに使うスクリプトです。
IEの7/8だけでどうしても分岐せざるを得ない、って場合とかに便利です。
とりあえずこれ書いとけばOKって感じで使ってます。

※ 2014/01/29 IE11用の分岐を追記しました。

checkUA.js
// ua判定
var uaObj = {
    uaDevice: 'device-pc',  // PC or モバイル
    uaBrouser: false        // ブラウザの種類
};
uaObj.checkUA = function(){
    var userAgent = navigator.userAgent.toLowerCase();
    var appVersion = navigator.appVersion.toLowerCase();
    // デバイス判定
    if (userAgent.indexOf('iphone') > 0 || userAgent.indexOf('ipod') > 0 || userAgent.indexOf('android') > 0) {
        uaObj.uaDevice = 'device-mobile';
    }
    // ブラウザ判定
    if (userAgent.indexOf('opera') != -1) {
    uaObj.uaBrouser = 'opera';
    } else if (userAgent.indexOf("msie") != -1) {
        if (appVersion.indexOf("msie 6.") != -1) {
            uaObj.uaBrouser = 'ie6';
        } else if (appVersion.indexOf("msie 7.") != -1) {
            uaObj.uaBrouser = 'ie7';
        } else if (appVersion.indexOf("msie 8.") != -1) {
            uaObj.uaBrouser = 'ie8';
        } else if (appVersion.indexOf("msie 9.") != -1) {
            uaObj.uaBrouser = 'ie9';
        } else {
            uaObj.uaBrouser = 'ie';
        }
    } else if (userAgent.indexOf('trident') != -1) {
        uaObj.uaBrouser = 'ie11';
    } else if (userAgent.indexOf('chrome') != -1) {
        uaObj.uaBrouser = 'chrome';
    } else if (userAgent.indexOf('safari') != -1) {
        uaObj.uaBrouser = 'safari';
    } else if (userAgent.indexOf('firefox') != -1) {
        uaObj.uaBrouser = 'firefox';
    } else {
        uaObj.uaBrouser = false;
    }
};

※ この場合、iPadをモバイルとは判定していません。必要に応じて追加したりしてます。

(追記)
Retinaかどうかを取得する場合は下記。

checkUA.js
// retinaかどうかをチェック
uaObj.checkDisplay = function(){
    uaObj.pixelRatio = window.devicePixelRatio;
};

// uaObj.pixelRatio > 2 の時はretina、といった分岐を書く

元記事

ユーザーエージェント、ブラウザ種類を詳しくチェックするスクリプト - rokuro FIre

22
21
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
22
21