我在一些遗留代码中注意到了以下模式:
<script>
<!--
// code
// -->
</script>
经过一些研究,这似乎是一种非常古老的技术,用于在浏览器不支持<script>
元素时隐藏脚本元素的内容。更多信息可以在这里找到。
我的关注点是:为什么<!--
不会抛出语法错误?我在whatwg.org的网站上发现,<!--
应该与//
在功能上等效,并引用了来自有关注释的ECMAScript语法的片段。问题是,该语法根本没有定义<!--
。
因此,这似乎是所有主要浏览器都实现的未定义行为。是否有允许这样做的规范,或者这是人们正在推进的向后兼容性hack?