JavaScriptでIEかどうかの判別

wrote2009.01.04

Javascriptでブラウザ判別するのはともかく嫌いで、どうにかこれまで避けてきたのだけど。
どうしてもIEかそれ以外の判別をしなければならないシチュエーションに追い込まれ、ググっていたらすごいの見つけました。

「phpspot開発日誌」というサイトで、「JavaScriptでIEかどうかをたったの1行で判別する方法」。以下、抜粋。

<html>
<script language="javascript">
var isMSIE = /*@cc_on!@*/false;
if (isMSIE) {
alert('IE!');
} else {
alert('not IE!');
}
</script>
<body>
</body>
</html>

マークアップはおいといて、IEなら「IE!」、それ以外なら「not IE!」というアラートが表示されます。すごいっ!

肝は、ずばり!

/*@cc_on!@*/

これだけ。
CSSハックならぬJSハックというものなのでしょうか!?
「/*@cc_on!@*/」の意味はさっぱり分かりません・・・。
分からないまま、使用するのは自分のポリシーに反しますが、まぁことがことなだけにあれです(逃)。