我只想问问题是什么.HTML脚本标记需要以下字符串?
<!--
//-->
Run Code Online (Sandbox Code Playgroud)
如果我不使用它们会发生什么?
Que*_*tin 34
除非你的目标是在<script>元素之前的浏览器(即Netscape 1和朋友).(提示:你不是).
如果您不使用它们,并且旧的浏览器(很旧它甚至无法处理使用虚拟主机的站点所需的HTTP主机头)尝试访问该站点,那么该<script>元素的内容将被视为要显示的文本.
进一步阅读:评论和CDATA:HTML中脚本和风格的神秘历史
更糟糕的是,您的页面由不知道<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的解析器编写得很糟糕的网站.
你应该关心吗?好吧,可能不是:)