一尘不染

HTML中的CDATA是什么?

javascript

JavaScript标记和HTML中CDATA的用途是什么?

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

// ]]>
</script>

阅读 462

收藏
2020-05-01

共1个答案

一尘不染

XML文档中的所有文本都将由解析器解析。

但是解析器将忽略CDATA节中的文本。

CDATA-(未分析)字符数据

术语CDATA用于XML解析器不应该解析的文本数据。

XML元素中的字符“ <”和“&”是非法的。

“ <”将产生错误,因为解析器将其解释为新元素的开始。

“&”将产生错误,因为解析器将其解释为字符实体的开始。

某些文本(例如JavaScript代码)包含许多“ <”或“&”字符。为了避免错误,可以将脚本代码定义为CDATA。

解析器将忽略CDATA节中的所有内容。

一个CDATA部件开始用“ <![CDATA[”,并结束与“ ]]>

在程序输出中使用CDATA

如果Web浏览器将文档呈现为HTML,则XHTML文档中的CDATA部分可能会被W​​eb浏览器以不同的方式解析,因为HTML解析器无法识别CDATA的开始和结束标记,也无法识别诸如标记&lt;内的HTML实体引用<script>。如果用于显示来自不受信任来源的数据,这可能会导致Web浏览器中的呈现问题,并可能导致跨站点脚本漏洞,因为这两种解析器在CDATA部分的结束位置上均不一致。

2020-05-01