需要JavaScript <! - // - >?

Mer*_*kos 23 html javascript

我只想问问题是什么.HTML脚本标记需要以下字符串?

<!--
//-->
Run Code Online (Sandbox Code Playgroud)

如果我不使用它们会发生什么?

Que*_*tin 34

除非你的目标是在<script>元素之前的浏览器(即Netscape 1和朋友).(提示:你不是).

如果您不使用它们,并且旧的浏览器(很旧它甚至无法处理使用虚拟主机的站点所需的HTTP主机头)尝试访问该站点,那么该<script>元素的内容将被视为要显示的文本.

进一步阅读:评论和CDATA:HTML中脚本和风格的神秘历史

  • 我不会说"提示:你不是",但更像是"提示:如果你是,你做错了" (15认同)

Álv*_*lez 8

更糟糕的是,您的页面由不知道<script>标记的用户代理检索,并尝试将您的脚本块解析为常规HTML.JavaScript代码将作为常规文本处理,<符号可能会干扰页面标记.一个强迫的例子:

<script type="text/javascript">
if(a<del || a>b){
    foo();
}
</script>
Lorem ipsum dolor sit amet.
Run Code Online (Sandbox Code Playgroud)

...可以渲染为丑陋的删除文本:

if(ab){foo(); Lorem ipsum dolor坐着.

这些过时的用户代理是否存在?哦,他们确实做到了.请注意我已经小心避免使用"浏览器"这个词.问题不在于谁现在使用Mosaic.这是一个由PHP编写的基于regexp的解析器编写得很糟糕的网站.

你应该关心吗?好吧,可能不是:)