IE11のuserAgent対応javascriptによるIE判定式(全バージョン対応)
IE11は従来のIEと違い、userAgentの中にMSIE
がありません。
よって良くある、userAgent内のMSIE
をindexOf
等で探す方法では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はどうなるか分かりませんがとりあえず現在はこれでいけると思います。