猿问

HTML中的CDATA是什么?

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


<script type="text/javascript"> 

// <![CDATA[


// ]]>

</script> 


繁星点点滴滴
浏览 2407回答 3
3回答

精慕HU

XML文档中的所有文本都将由解析器解析。但是解析器将忽略CDATA节中的文本。CDATA-(未解析)字符数据术语CDATA用于不应该由XML解析器解析的文本数据。XML元素中的字符“ <”和“&”是非法的。“ <”将产生错误,因为解析器将其解释为新元素的开始。“&”将产生错误,因为解析器将其解释为字符实体的开始。某些文本(例如JavaScript代码)包含许多“ <”或“&”字符。为了避免错误,可以将脚本代码定义为CDATA。解析器将忽略CDATA节中的所有内容。一个CDATA部件以“开始<![CDATA[”,结尾是“ ]]>”在程序输出中使用CDATA如果Web浏览器将文档呈现为HTML,则XHTML文档中的CDATA部分可能会被Web浏览器以不同的方式解析,因为HTML解析器无法识别CDATA的开始和结束标记,也无法识别HTML实体引用(例如&lt;在<script>标记内)。如果用于显示来自不受信任来源的数据,这可能会导致Web浏览器中的渲染问题,并可能导致跨站点脚本漏洞,因为这两种解析器将在CDATA部分的结束位置上存在分歧。

心有法竹

CDATA&nbsp;在HTML中根本没有任何意义。CDATA是一个XML构造,用于设置标记的内容,该内容通常为#PCDATA-解析的字符数据,取而代之的是#CDATA,即未解析的字符数据。它仅在XHTML中相关且有效。在script标记中使用它可以避免解析<和&。在HTML中,这是不需要的,因为在HTML中,script已经是#CDATA。
随时随地看视频慕课网APP
我要回答