/*@ cc_on和IE6检测

Jac*_*ack 5 javascript internet-explorer conditional-comments internet-explorer-6 browser-feature-detection

在研究IE的JavaScript条件评论时,我偶然发现了@cc_on.这似乎有效.但是,条件注释的维基百科条目为更强大的IE检测提供了以下代码,特别是IE6:

/*@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");

    @elif (@_jscript_version == 5.6 || (@_jscript_version == 5.7 && !window.XMLHttpRequest))
    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

@*/
Run Code Online (Sandbox Code Playgroud)

问题是,我得到一个"预期的常量"javascript错误!window.XMLHttpRequest.

很明显,维基百科需要一些帮助,我需要让它发挥作用.谁能帮我吗?

JBi*_*ord 4

绝对不是 JS 专家,但一些搜索发现使用 jscript_version == 5.7 将 IE6 与 IE7 隔离:

/*@cc_on
if (@_jscript_version==5.6 ||
   (@_jscript_version==5.7 &&
      navigator.userAgent.toLowerCase().indexOf("msie 6.") != -1)) {
  //ie6 code
}
@*/
Run Code Online (Sandbox Code Playgroud)

也许它会为您指明正确的方向。

资料来源: http ://sharovatov.wordpress.com/2009/06/03/efficient-ie-version-targeting/