0
在下面的例子:我如何摆脱“嵌套评论”。 JSLint引发的错误?
<!--[if lt IE 9]>
<script src="./js/lib/modernizr.custom.js"></script>
<![endif]-->
的JSLint抛出最后一行的错误,说“嵌套评论。”我似乎无法找到在互联网上“修复”这种方法。任何人都有解决方案?
在下面的例子:我如何摆脱“嵌套评论”。 JSLint引发的错误?
<!--[if lt IE 9]>
<script src="./js/lib/modernizr.custom.js"></script>
<![endif]-->
的JSLint抛出最后一行的错误,说“嵌套评论。”我似乎无法找到在互联网上“修复”这种方法。任何人都有解决方案?
这对我来说似乎是JSLint中的一个bug(或者可能有点疏忽)。用于处理HTML注释的代码如下:
// ...
case '<!--':
length = line;
for (;;) {
i = source_row.indexOf('--');
if (i >= 0) {
break;
}
i = source_row.indexOf('<!'); // This line causes the problem
if (i >= 0) {
stop_at('nested_comment', line, character + i);
}
if (!next_line()) {
stop_at('unclosed_comment', length, c);
}
}
// ...
基本上,当JSLint的遇到开口评论令牌(<!--
),它遍历源的行,直到它遇到一个注释结束令牌(-->
,未示出在上面的片段中)。如果在该迭代过程中遇到字符串<!
,那么它将引发您所看到的“嵌套注释”错误。
不幸的是,没有办法解决这个问题,因为没有使用JSLint进行标记验证(我通常会推荐它)。我会看看我能否找到修复它然后提交补丁的好方法。