JavaScriptテックラボ

@cc_onを使ってブラウザ判別

jQuery1.9からIE判定のjQuery.browser.msieが廃止されました。
そのためIE判定は自前で行う必要があります。

簡単で速いのはMSのJScriptに用意された条件付きコンパイルの機能をアクティブにする@cc_on。
コメントアウトの中に@cc_onを記述すると、対応していないブラウザでもエラーとならないため、安全に使えます。
IEのみ処理したい場合は下記のような1行になります。

if (/*@cc_on!@*/false){
}

IEの場合だけコメントアウトの否定演算子!が処理され、falseを否定して条件文が真となります。
document.allで判別するより65倍程速いそうなので、このスタイルが嫌いでなければ積極的に使っても良いのではないでしょうか。

関連記事