CDATA标签在脚本标签中是必要的吗?如果是的话,什么时候?
换句话说,何时何地:
<script type="text/javascript">
//<![CDATA[
...code...
//]]>
</script>
更可取的是:
<script type="text/javascript">
...code...
</script>
CDATA标签在脚本标签中是必要的吗?如果是的话,什么时候?
换句话说,何时何地:
<script type="text/javascript">
//<![CDATA[
...code...
//]]>
</script>
更可取的是:
<script type="text/javascript">
...code...
</script>
当前回答
这样旧的浏览器就不会解析Javascript代码,页面也不会中断。
向后兼容。一定会喜欢的。
其他回答
如果您需要将文档解析为XML(例如,当XHTML页面被解释为XML时),并且您希望能够编写文字i<10和A && b,而不是i<10和A &&b,因为默认情况下,XHTML将把JavaScript代码解析为已解析的字符数据,而不是字符数据。对于存储在外部源文件中的脚本,这不是问题,但对于XHTML中的任何内联JavaScript,您可能希望使用CDATA部分。
请注意,许多XHTML页面从未打算被解析为XML,在这种情况下,这将不是一个问题。
有关该主题的优秀文章,请参见https://web.archive.org/web/20140304083226/http://javascript.about.com/library/blxhtml.htm
这是X(HT)ML的问题。当你在JavaScript中使用像<和>这样的符号时,例如比较两个整数,这将不得不像XML一样被解析,因此它们将标记为标记的开始或结束。
CDATA意味着下面的行(直到]]>的所有内容都不是XML,因此不应该以这种方式解析。
这样旧的浏览器就不会解析Javascript代码,页面也不会中断。
向后兼容。一定会喜欢的。
当您要严格遵守XHTML时,您需要CDATA,以便小于和&符号不会被标记为无效字符。
不要在HTML4中使用CDATA,但你应该在XHTML中使用CDATA,如果你有像<和>这样的未转义符号,则必须在XML中使用CDATA。