您的位置: 首页 > 技术文档 > 网页制作 > jscript/javascript条件编译
表格艺术经典回顾 回到列表 新颖实用的显示图片效果
 jscript/javascript条件编译

作者:Sheneyan 时间: 2006-03-02 文档类型:翻译 来自:蓝色理想

第 1 页 IE中jscript/javascript的条件编译 [1]
第 2 页 IE中jscript/javascript的条件编译 [2]

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>

例子:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

如果你使用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浏览器。

出处:蓝色理想
责任编辑:moby

上一页 下一页 IE中jscript/javascript的条件编译 [2]

◎进入论坛网页制作网站综合版块参加讨论

相关文章 更多相关链接
asp编译成dll-图形化教程
实现一个日期下拉菜单
flash8与javascript集成
JavaScript实用的一些技巧
js 几种常用的表单输入判断
作者文章
如何使用ajax开发web应用程序
XHTML+CSS创建“两步式”的相册
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
全兼容的纯CSS级联菜单要点浅析
CSS Sprites 图片整合技术
雅安,一场中式旅行
热烈祝贺"醒狮杯"圆满结束
菊花宝典大赏大奖教程《阳台》
交互设计师怎样和产品团队合作
Photoshop打造个性潮流音乐海报
简单解读面包屑
CSS盒模型
Apple与Microsoft网站可用性研究
栏目最新 栏目最新列表
safari 4 新特性
Photoshop制作精美高光流线字
IE下img多余5像素空白解决方法
XHTML1.0与HTML兼容指引16条
JavaScript优化细节
全兼容的纯CSS级联菜单要点浅析
CSS Sprites 图片整合技术
Photoshop打造个性潮流音乐海报
CSS盒模型
45度地图编辑器及游戏开发心得
>> 分页 首页 前页 后页 尾页 页次:1/21个记录/页 转到 页 共2个记录

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

本文现有 1 条评论 评分:- llllllllllllllllllll + 评分人数: 1 ,平均分: 5.00


老孤 Publish at 2006-3-2 10:29:16 评分5
好文,收藏了
您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
《Web标准设计》
《美工神话》
《Flash短片轻松学》
Illustrator CS3质感绘画表现技法
大师之路--Photoshop 完全解析
《用户体验要素》
HTML与CSS入门经典(第7版)
作品集 更多内容

Purple Mobile GUI LogoMark Asia 毕业设计。 HTML Form Elements 家居城 LogoMark Asia 毕业设计。 胡椒下班