• home
  • IE11のuserAgent対応javascriptによるIE判定式(全バージョン対応)

IE11のuserAgent対応javascriptによるIE判定式(全バージョン対応)

IE11は従来のIEと違い、userAgentの中にMSIEがありません。
よって良くある、userAgent内のMSIEindexOf等で探す方法ではIE11がうまく取れません。
jsでIE判定をかます際に色々調べたので情報共有。

javascriptによるIE判定式

var userAgent = window.navigator.userAgent.toLowerCase();
if( userAgent.match(/(msie|MSIE)/) || userAgent.match(/(T|t)rident/) ) {
    var isIE = true;
    var ieVersion = userAgent.match(/((msie|MSIE)\s|rv:)([\d\.]+)/)[3];
    ieVersion = parseInt(ieVersion);
} else {
    var isIE = false;
}

上記コードで
isIEにIEかどうかの判定(boolean型)
ieVersionにバージョン数(int型)
parseIntを挟むかどうかはケースバイケースで。

今後のIEはどうなるか分かりませんがとりあえず現在はこれでいけると思います。