IE中jscript/javascript的条件编译
作者:JavaScript Kit
译者:子乌(Sheneyan)
翻译日期:2006-02-12
英文原文:Conditional Compilation of JScript/ JavaScript in IE
版权:翻译未经过javascript kit同意,我只对我所翻译的中文部分负责。版权归原作者所有。
子乌注:如同以前的文章一样,我只能按照我对文章的理解翻译出来,但是我自己水平实在有限,很多地方可能存在对原文的误解甚至是误会,有可能的话还是读一读原文。
条件编译概述
在IE中,有一个鲜为人知的功能叫做条件编译(conditional compilation)。自从IE4开始支持这个功能,它由于在一些Ajax相关的javascript脚本中出现而受到一些关注。条件编译作为一种独立形式的对象判断,使得IE可以根据预定义或用户定义的条件来决定你的jscript或javascript代码特定部分是否编译。也可以把它看成是你的代码的条件注释(contional comments,很快会翻译这篇文章),使你的代码能够在非IE浏览上也顺利运行。
语法概述
通过在你的脚本中使用@cc_on来激活条件编译,或者直接使用@if或者@set等等作为CC逻辑中一部分的句子来激活它。这里是一个示范例子:
<script type="text/javascript">
/*@cc_on
document.write("JScript 版本: " + @_jscript_version + ".<br>");
/*@if (@_jscript_version >= 5)
document.write("JScript 版本 5.0+.<br \/>");
document.write("只有当浏览器支持JScript5+的时候你才能看到这些文字.<br>");
@else @*/
document.write("当你使用其他浏览器(比如: Firefox, IE 4.x 之类)的时候看到这行文字<br>");
/*@end
@*/
</script>
例子:
<script type="text/javascript">
/*@cc_on
document.write("JScript 版本: " + @_jscript_version + ".<br />");
/*@if (@_jscript_version >= 5)
document.write("JScript 版本 5.0+.<br />");
document.write("只有当浏览器支持JScript5+的时候你才能看到这些文字。<br />");
@else @*/
document.write("当你使用其他浏览器(比如: Firefox, IE 4.x 之类)的时候看到这行文字。<br />");
/*@end
@*/
</script>
