JavaScript 标签和 HTML 中的 CDATA 有什么用?
<script type="text/javascript"> // <![CDATA[ // ]]> </script>
XML 文档中的所有文本都将由解析器解析。
但是解析器将忽略 CDATA 部分中的文本。
CDATA -(未解析的)字符数据
CDATA 一词用于表示不应由 XML 解析器解析的文本数据。 “<”和“&”之类的字符在 XML 元素中是非法的。 ”<” 将产生错误,因为解析器将其解释为新元素的开始。 “&” 将产生错误,因为解析器将其解释为字符实体的开始。 一些文本,如 JavaScript 代码,包含很多“<”或“&”字符。为避免错误,脚本代码可以定义为 CDATA。 解析器会忽略 CDATA 部分中的所有内容。 CDATA 部分以“”开头,以“ ”<![CDATA[结尾]]>
CDATA 一词用于表示不应由 XML 解析器解析的文本数据。
“<”和“&”之类的字符在 XML 元素中是非法的。
”<” 将产生错误,因为解析器将其解释为新元素的开始。
“&” 将产生错误,因为解析器将其解释为字符实体的开始。
一些文本,如 JavaScript 代码,包含很多“<”或“&”字符。为避免错误,脚本代码可以定义为 CDATA。
解析器会忽略 CDATA 部分中的所有内容。
CDATA 部分以“”开头,以“ ”<![CDATA[结尾]]>
<![CDATA[
]]>
在程序输出中使用 CDATA
如果 Web 浏览器将文档呈现为 HTML,则 XHTML 文档中的 CDATA 部分可能会被不同地解析,因为 HTML 解析器不识别 CDATA 开始和结束标记,也不识别 HTML 实体引用,例如标签<内的引用。<script>如果用于显示来自不受信任来源的数据,这可能会导致 Web 浏览器出现渲染问题,并且可能导致跨站点脚本漏洞,因为这两种解析器在 CDATA 部分的结束位置上存在分歧。
<
<script>
一个简短的 SGML 教程。
此外,请参阅CDATA 上的 Wikipedia 条目。