IE中jscript/javascript的条件编译

豆豆网   技术应用频道   2008年07月06日  【字号: 收藏本文

关键字: JScript

内容摘要:在IE中,有一个鲜为人知的功能叫做条件编译(conditional compilation)。自从IE4开始支持这个功能,它由于在一些Ajax相关的javascript脚本中出现而受到一些关注。

  条件编译概述

  在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>

  例子:

  如果你使用IE(任何版本),你应该能够看到第一个document.write()的输出,如果是IE5+,接下来的两个document.write()你也能够看见(因为从IE5开始支持JScript 5)。最后一个document.write()方法是为了其他非IE5+浏览器服务的,无论是Firefox,opera,IE4,或者什么别的。条件编译依赖于类似在条件注释中使用的注释标签,以确保它在所有浏览器中都能工作顺畅。

来源:JavaScript Kit    责编:豆豆技术应用

正在加载评论...