我遇到一个
错误/未记录的功能
在IE 7,6.5中(可能是其他的?)。这不会影响Opera(10.5x)Firefox(3.5.x)或其他浏览器(这是我迄今为止测试过的所有浏览器)。它似乎不是Javascript的文档化功能。
包括一个用双斜杠表示的注释,并直接后跟双at符号(
//@@
),整个
.js
文件无效。我已经检查了几个变体,下面是我发现的(fail=JS未加载,pass=JS已加载):
-
//@@
-
//@ @
-
失败:
//@@@
-任何数量的@似乎都没什么区别
-
失败:
//@@ text
-
//@hello@
-@之间的任何内容似乎都没有帮助
-
通过:
// @@
-
// @ @
-前空位似乎阻止了
-
通过:
//hello @@
-
通过:
/*@@*/
//
注释样式
<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中打开条件编译后,请小心使用与语法模糊相似的注释。