2010一月5
JavaScript 关于条件编译:conditional compilation
在怿飞那里看到其经常使用 /*@cc_on!@*/false来判断是否是IE浏览器。这种方法咱可从来没有用过,查查吧?
何为条件编译 conditional compilation:
关于条件编译的定义,及其含义,大家可以参考如下两个地址:
通常使用 @cc_on 来激活条件编译,一般的建议是将 @cc_on 放入注释中,这样不支持条件编译的浏览器就不会报错。而支持的浏览器(IE)就会执行其条件编译内的逻辑,包括其内的 @if @else @set .etc
所以在写法上面, 通常将非IE的浏览器要执行的代码放在注释外。所以上面的链接中有如下示例(注意看第二个链接中的示例)
/*@cc_on
document.write("JScript version: " + @_jscript_version + ".<br>");
/*@if (@_jscript_version >= 5)
document.write("JScript Version 5.0 or better.<br \/>");
document.write("This text is only seen by browsers that support JScript 5+<br>");
@else @*/
document.write("This text is seen by all other browsers (ie: Firefox, IE 4.x etc)<br>");
/*@end
@*/
document.write("JScript version: " + @_jscript_version + ".<br>");
/*@if (@_jscript_version >= 5)
document.write("JScript Version 5.0 or better.<br \/>");
document.write("This text is only seen by browsers that support JScript 5+<br>");
@else @*/
document.write("This text is seen by all other browsers (ie: Firefox, IE 4.x etc)<br>");
/*@end
@*/
判断是否是IE浏览器的简单语句:
因此,如果我们要判断浏览器是否是ie的话可以用下面简单的语句:
var isIE = /*@cc _on!@*/false;
如果是非IE,则不支持条件编译语句,返回false,IE则会执行,里面的!符号,最终返回true。网上一些通用的写法是:
if(/*@cc_on!@*/0 ){
alert('IE');
} else {
alert('not ie');
}
alert('IE');
} else {
alert('not ie');
}
文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2010/01/05/1681/
版权所有 © 转载时必须以链接形式注明作者和原始出处!
来支持一个 ;-) ;-)
[回复]
@popo
呵呵,谢谢。
[回复]
if([,]==’,'){ //ie code
}else{//not ie code
}
以上是看到的最简单判断IE的代码 IE 678 测试Pass
嘿嘿 每次都来你这偷学一点
[回复]