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

電脳備忘録

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はバージョンが上がろうと信用できないので、きっちり判別できるようにしておかないとね...。

広告

ブログの維持費に充てるでございます・・・。