可能重复:
Why does this Javascript code inside a non-Javascript browser have extra commenting?
有时我会看到一些以<!--
开头并以//-->
结尾的Javascript。
我想知道这种线路的用途是什么?据我所知,<!--
表示评论行。但事实似乎并非如此,因为即使使用这样的行,脚本仍然可以工作。如果删除该行,它也可以工作。
这是一个简短的例子:
<script language='JavaScript' type='text/javascript'>
<!--
function changelang(id) {
document.location.href='index.php&lch=1&lang=' + id }
//-->
</script>
答案 0 :(得分:7)
它曾用于不了解script
标签的旧浏览器,并将其内容节点呈现为文本,这当然是不受欢迎的。
当您考虑canvas
,audio
,noscript
元素的内容时,这可能会更有意义(后者在今天被特别对待,但想象一下过去浏览器不知道noscript
元素是什么。)
在这个时代,这不是必需的。
Douglas Crockford建议不要使用它们。
不要将
<!-- //-->
hack与脚本一起使用。它的目的是 防止脚本在第一代显示为文本 浏览器Netscape 1和Mosaic。对许多人来说没有必要 年份。<!-- //-->
应该表示HTML评论。评论 应该被忽略,而不是编译和执行。此外,HTML评论是 不包含--
,因此递减的脚本会出现HTML错误。
答案 1 :(得分:1)
这是一个旧惯例,用于隐藏不了解脚本标记的浏览器的脚本的文本内容(而不是禁用它)。