お寿司か焼き肉食べたい

まじめな事からしょーもない事まで
めにゅーを開く(投げやり)

ブラウザ判定用処理について

ってなわけでブラウザやらの判定用の処理をまとめてみます。
なんてか、丁度いいのがなんか無い感じで忘備録用にほしいなぁと

ブラウザの判定

ってなわけでブラウザの判定となります。
正直IEの古いバージョンがどんどん死滅していっていますので、あまりこの判定は需要ないのかもしれません

var userAgent = window.navigator.userAgent.toLowerCase();
if(userAgent.indexOf('msie') != -1 || userAgent.indexOf('trident') != -1 ||)
{
  // IE判定・IEバージョン判定
  if (ver.indexOf("msie 6.") != -1){
    console.log('IE6');
  }else if (ver.indexOf("msie 7.") != -1){
    console.log('IE7');
  }else if (ver.indexOf("msie 8.") != -1){
    console.log('IE8');
  }else if (ver.indexOf("msie 9.") != -1){
    console.log('IE9');
  }else if (ver.indexOf("msie 10.") != -1){
    console.log('IE10');
  }else{
    console.log('IE11');
  }
} else if(userAgent.indexOf('edge') != -1) {
  // Edge判定
  console.log('Edge');
} else if(userAgent.indexOf('chrome') != -1) {
  // chrome判定
  console.log('Chrome');
} else if(userAgent.indexOf('safari') != -1) {
  // safari判定
  console.log('Safari');
} else if(userAgent.indexOf('firefox') != -1) {
  // FireFox判定
  console.log('FireFox');
} else if(userAgent.indexOf('opera') != -1) {
  // opera判定
  console.log('Opera');
} else {
  // それ以外のブラウザ
  console.log('その他のブラウザ');
}

PC/モバイルの判定

PC/モバイルの判定です。
最近はこっちのほうが良く使うんじゃないでしょうか。
OSバージョンもついでに取れるようにしましょうね。

var userAgent = window.navigator.userAgent.toLowerCase();
if(userAgent.indexOf('iphone') != -1) {
  // iPhone判定
  console.log('iPhone');

  // iOSバージョン分岐処理
  iosVerSearch();
} else if(userAgent.indexOf('ipad') != -1) {
  // iPad判定
  console.log('iPad');
  // iOSバージョン分岐処理
  iosVerSearch();
} else if(userAgent.indexOf('android') != -1) {
  // android判定
  if(userAgent.indexOf('mobile') != -1) {
    // androidスマホ
    console.log('androidのスマホ');
    // androidバージョン分岐処理
    androidVersion(userAgent);
  } else {
    // androidタブレット
    console.log('androidのタブレット');
    // androidバージョン分岐処理
    androidVersion(userAgent);
  }
}

function iosVerSearch(userAgent){
  var version = this.userAgent.match(/iphone os ([\d]+)_([\d]+)_([\d]+)/);
  if(!version){
      version = this.userAgent.match(/iphone os ([\d]+)_([\d]+)/);
  }
  // ここから分岐処理を書いてもいい。
}


function androidVersion(userAgent) {
  if( userAgent.indexOf("Android") > 0 )
    {
      var version = parseFloat(userAgent.slice(userAgent.indexOf("Android")+8));
      return version;
    }
  }
  // ここから分岐処理を書いてもいい。
}

OS判定について

スマホが普及しだしてきた時(android2.xとかiOS4とか5とか)はOSバージョンによって結構違いやバグがあり
わりとこんな感じでわけないと動かないみたいなのが多くありました。
最近は結構落ち着いて安定している感もあったりしますし、サイト仕様も古い端末を除外したりする動きも多く
使うのは pc/spの判定が主流なのかな?なんて思ったりします。