https://msdn.microsoft.com/ja-jp/library/eb0w91wa(v=vs.90).aspx
JavaScriptのコメントを
/*@cc_on @*/
という感じで書くと、コメントの中身がIEでのみJScriptとして評価されることを知りました。
なので、
var ieVersion = 0, jscriptVersion = 0; /*@cc_on jscriptVersion = @_jscript_version; @*/ alert(jscriptVersion);
と書けば、jscriptVersion に JScriptのバージョンを代入することができます。
そして、JScriptのバージョンからIEのバージョンを割り出せるらしいです。
var isVersion = 0; jscriptVersion = 0; /*@cc_on jscriptVersion = @_jscript_version; @*/ if (jscriptVersion) { switch (jscriptVersion) { case 11: // IE11では実行されない break; case 10: ieVersion = 10; break; case 9: ieVersion = 9; break; case 5.8: ieVersion = 8; break; case 7.7: // 正確には7以下らしい ieVersion = 7; } alert(ieVersion); }
DEMO
IE10からHTMLの条件付きコメントがつかえなくなったので、
その代わりとしてピンポイントにIE10だけを対応したい時とかにつかえるのかもしれないし、つかえないのかもしれません。