Home > 技術 > JScriptの@cc_onを使ってみよう

JScriptの@cc_onを使ってみよう

Clouder::Blogger: @cc_on ってなに?@cc_onが紹介されていたのでボクもやってみた。

@cc_onとは、

@cc_on ステートメントを記述すると、スクリプト エンジンで条件コンパイルが行われるようになります。

@cc_on ステートメントは、コメントの中に記述するようにします。この場合、条件コンパイルをサポートしていないブラウザでも、構文エラーが発生しません。次にそのコード例を示します。

/*@cc_on*/
// The remainder of the script.

@if ステートメントまたは @set ステートメントをコメント外に記述することでも、条件コンパイルをアクティブにできます。

via: @cc_on ステートメント

条件コンパイルを可能にするスイッチみたいなもんで、これはC言語でいうところのプリプロセッサといった感じかな?

以下に書いたコードをHTMLとして実行すると、IE限定で@cc_onが効いた処理が動く。

<html>
<body>
<script type="text/javascript">
   // IEだとHello, JScript!と表示される
   /*@cc_on document.write("Hello, JScript!"); @*/

   // IE6だとJScript Version 5.0 or better.と表示され
   // FirefoxだとYou need a more recent script engine.が表示される
   /*@cc_on @*/
   /*@if (@_jscript_version >= 5)
     document.write("JScript Version 5.0 or better.<BR>");
    @else @*/
     document.write("You need a more recent script engine.<BR>");
   /*@end @*/
</script>
</body>
</html>

う~ん、なるほど。これはこれで面白い。
仕事で使うチャンスがあるかどうかは分からないけど、まめ知識にはもってこいだな。

上記ソースだとほとんどの行がコメントなので、かなり見にくいがJScript限定で遊べる代物だからちょびっとソースに忍ばせても楽しいかも。
(バグらない程度にねっ!)

amachangさんのところで一行で IE の JavaScript を高速化する方法 - IT戦記として紹介されていたので、こちらも参考にしてみてください。

とここまで書いてもIE限定・・・

Trackback:0

TrackBack URL for this entry
http://hisasann.com/cgi-bin/mt/mt-tb.cgi/731
Listed below are links to weblogs that reference
JScriptの@cc_onを使ってみよう from HouseTect, JavaScriptな情報をあなたに

Home > 技術 > JScriptの@cc_onを使ってみよう

Tag cloud
月別アーカイブ
Powered by
Powered by
Movable Type Commercial 4.261

Page Top