javascript - 脚本标记中何时需要 CDATA 部分?

标签 javascript html xhtml cdata

CDATA 标记在脚本标记中是否必要?如果需要,何时需要?

换句话说,这是何时何地:

<script type="text/javascript">
//<![CDATA[
...code...
//]]>
</script>

更喜欢这个:

<script type="text/javascript">
...code...
</script>

最佳答案

如果您需要将文档解析为 XML(例如,当 XHTML 页面被解释为 XML)并且您希望能够编写文字 i<10,则需要 CDATA 部分和 a && b而不是 i&lt;10a &amp;&amp; b ,因为默认情况下 XHTML 会将 JavaScript 代码解析为已解析的字符数据,而不是字符数据。对于存储在外部源文件中的脚本,这不是问题,但是对于 XHTML 中的任何内联 JavaScript,您可能想要使用 CDATA 部分。

请注意,许多 XHTML 页面从未打算被解析为 XML,在这种情况下这不会成为问题。

有关该主题的优秀文章,请参阅 https://web.archive.org/web/20140304083226/http://javascript.about.com/library/blxhtml.htm

关于javascript - 脚本标记中何时需要 CDATA 部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66837/

相关文章:

html - 对实体 "foo"的引用必须以 ';' 分隔符结尾

html - HTML 标题和列表的呈现

javascript goto标签如何使用内部循环

javascript - 如何使用用户输入的关键字在 Node.js 中执行 Twitter API 搜索

java - 如何将 bytearray 转换为 img 标签?

html - 在 flexbox 中将图像缩放到最大尺寸

html - 当使用 if 语句过滤前 3 个图像时,如何在从左侧开始的数组中显示(即)第 3 个索引(第 4 个)图像?

html - CSS namespace 属性选择器是否适用于 XHTML/HTML 元素?

javascript - 如何使用 javascript 更改 HTML 元素值?

javascript - 单击事件 :auto on child element of parent with click-event:none 出现问题