正 文

jscript/javascript条件编译


www.7dspace.com  更新日期:2006-3-2 6:28:15  七度空间


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

当使用条件编译的时候,最好先通过@cc_on语句来激活它,只有这样你才能在你的脚本中包含注释标签以保证浏览器兼容,、就好像上面例子中所显示的那样。(子乌注:这句英文我翻译的不是很顺...看起来似乎与上面的句子矛盾)

@if, @elif, @else,@end 语句

在这个奇怪的开场白之后,这里是一些用于条件便于的条件语句:

@if
@elif
@else
@end

现在让我们看一些“古怪”的例子。

if else 逻辑 (排除IE外的浏览器)

/*@cc_on
   @if (@_win32)
      document.write("操作系统是32位windows。浏览器是IE。");
   @else
      document.write("操作系统不是32位windows。浏览器是IE。");
   @end
@*/

这是一段完整的脚本,只被ie浏览器所识别并忽略其他所有浏览器,这段脚本在不同的操作系统上将显示不同的内容。对比一下下面这个例子……

if else 逻辑2 (包含其他浏览器)

/*@cc_on
   /*@if (@_win32)
      document.write("操作系统是32位windows。浏览器是IE。");
   @else @*/
      document.write("浏览器不是IE (如: Firefox)或者浏览器不是在32位windows下的IE。");
   /*@end
@*/

熟练使用注释标签,这个例子中的else部分能够包含所有的非ie浏览器(如firefox),以及非32位windows下的IE。努力的研究这段注释,直到你脑袋发昏,你就会明白这个逻辑了

if, elseif, else逻辑 (排除IE外的浏览器)

继续吧,可以看全部内容了:

/*@cc_on
   @if (@_jscript_version >= 5)
      document.write("IE Browser that supports JScript 5+");
   @elif (@_jscript_version >= 4)
      document.write("IE Browser that supports JScript 4+");
   @else
      document.write("Very old IE Browser");
   @end
@*/

if, elseif, else 逻辑2(包含其他浏览器)

/*@cc_on
   /*@if (@_jscript_version >= 5)
      document.write("IE Browser that supports JScript 5+");
   @elif (@_jscript_version >= 4)
      document.write("IE Browser that supports JScript 4+");
   @else @*/
      document.write("Non IE Browser (one that doesn't support JScript)");
   /*@end
@*/

全面的处理。在这最后一个例子中,最后一个else语句包含了所有非IE浏览器。

2页,页码:[1] [2] 

上一篇:Word入门动画教程83:添加阴影和三维效果
下一篇:不用float,模块居中布局例子
jscript/javascript条件编译 作者:子乌 来源:蓝色理想
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐