代码之家  ›  专栏  ›  技术社区  ›  Rudu Andrew Whitaker

IE中的多个@JS注释错误

  •  5
  • Rudu Andrew Whitaker  · 技术社区  · 14 年前

    我遇到一个 错误/未记录的功能 在IE 7,6.5中(可能是其他的?)。这不会影响Opera(10.5x)Firefox(3.5.x)或其他浏览器(这是我迄今为止测试过的所有浏览器)。它似乎不是Javascript的文档化功能。

    包括一个用双斜杠表示的注释,并直接后跟双at符号( //@@ ),整个 .js 文件无效。我已经检查了几个变体,下面是我发现的(fail=JS未加载,pass=JS已加载):

    1. //@@
    2. //@ @
    3. 失败: //@@@ -任何数量的@似乎都没什么区别
    4. 失败: //@@ text
    5. //@hello@ -@之间的任何内容似乎都没有帮助
    6. 通过: // @@
    7. // @ @ -前空位似乎阻止了
    8. 通过: //hello @@
    9. 通过: /*@@*/ // 注释样式

    <function/object> is undefined ". IE6.5有体面的报告” Invalid character “这大大提高了你发现问题的能力!

    所以 有人知道为什么会发生这样的事吗?

    更新:

    资料来源:

    <html lang="en">
      <head>
        <title>Test</title>
        <script src="turnon.cc.js"></script>
        <script src="flaw.ie.js"></script>
      </head>
      <body>
        World
      </body>
    </html>
    

    缺陷.ie.js

    //@@
    alert('hello');
    

    资料来源:

    /*@cc_on
     @*/
    

    结果:

    FF/歌剧院:警报:你好!页码:世界

    在IE中打开条件编译后,请小心使用与语法模糊相似的注释。

    2 回复  |  直到 14 年前
        1
  •  4
  •   methodin    14 年前
        2
  •  1
  •   Dr.Molle    14 年前

    我不能复制这个,也许这取决于你的环境。

    看看这个: http://support.microsoft.com/kb/323487/en