【jQuery】IEのバージョン判定

電脳備忘録

本記事のソースコードの利用によって生じた損害について、当方は一切の責任を負いません。ご自身の判断と責任のもとで参照・ご利用ください。

この記事は最終更新から3年以上経過しています。

IE7以下とそれ以外のIEのバージョンおよびIE以外のブラウザで処理を切り替える必要があったので、対応したときのメモ。

IE11からcc_onステートメントが使えないとのことで、下記サイトで紹介されていた方法を参考にしてみました。

従来のIE判別で重用されてきたIEかどうかをたったの1行で判別する方法が効かない。 つまり、コメント(/* */)で囲まれた@cc_onステートメントは文字通り単なるコメントとして無視される。

IE11では@cc_onステートメントを利用したハックが使えなくなった - asamuzaK.jp
$(document).ready(function() {
    //ieバージョン判定
    var _ieVersion = (function(_doc, reg) {
    return _doc.documentMode ? _doc.documentMode :
    /*@cc_on!@*/false && navigator.userAgent.match(reg) ? RegExp.$1 * 1 : 0;
    })(document, /MSIE\s([0-9]+[\.0-9]*)/),
    _isMSIE = _ieVersion > 0 ? true : false;
    if(_isMSIE == true) {
      if(_ieVersion <= 7 ) {
        //IE7以下
      }else{
        //IE8以上
      }//endif
    }else{
      //IE以外の処理
    }//endif
  });

手元にIE11がないのでテストできていませんが、IE6~10まではきっちりバージョン判別できました。
IEはバージョンが上がろうと信用できないので、きっちり判別できるようにしておかないとね...。

0%