西红柿爱番茄

Feed Rss

IE的那些@cc_on

12.24.2009, Javascript, by .

最近在编写一个获取DOM元素在文档中的X/Y坐标的时候,遇到了一个ie6,ie7下多出2个像素的问题,临时想到了ie的那套@cc_on特定判断语法,网上狂搜关于这方面的代码,搜出来一大把。现在将它们总结整理如下:

@_jscript_version是IE的版本号,/*@cc_on …… @*/就是IE专属的一个判断执行块,@_x86和@_x32 表示OS的位数。

[javascript]
/*@cc_on
@if (@_jscript_version < 5.7) {
//code for IE6 and lower
} @else {
//code for IE7 and upper
}
@end
@*/

////////////////////////////////////////////

/*@cc_on
@if (@_jscript_version > 5.7)
document.write("You are using IE8+");

@elif (@_jscript_version == 5.7 && window.XMLHttpRequest)
document.write("You are using IE7");

if (@_jscript_version==5.6 ||(@_jscript_version==5.7 && navigator.userAgent.toLowerCase().indexOf("msie 6.") != -1))
document.write("You are using IE6");

@elif (@_jscript_version == 5.5)
document.write("You are using IE5.5");

@else
document.write("You are using IE5 or older");
@end
@*/

//////////////////////////////////////////////////////////

/*@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
@*/
[/javascript]
通过上面的@cc_on,你可以针对目前IE的各版本来编写js脚本,但是还是那句话:可以不用的就别用吧,它也确实是有些丑陋。:)

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>