みかづきブログ その3

本ブログは更新を終了しました。通算140万ユーザーの方に観覧頂くことができました。長い間、ありがとうございました。

👆

引越し先はこちらです!

@cc_on ステートメントをつかってIEでのみJScriptを実行する

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だけを対応したい時とかにつかえるのかもしれないし、つかえないのかもしれません。