什么是HTML中的CDATA?

这个问题在这里已经有了答案:

  • 在脚本标记中何时需要CDATA部分? 15个答案

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

    但是CDATA部分中的文本将被解析器忽略。

    CDATA - (未解析)字符数据

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

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

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

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

    一些文本,如JavaScript代码,包含大量“<”或“&”字符。 为了避免错误,脚本代码可以定义为CDATA。

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

    CDATA部分以“ <![CDATA[ ”结束于“ ]]>

    在程序输出中使用CDATA

    因为HTML解析器不识别CDATA开始和结束标记,也不识别HTML实体引用,例如&lt;<script>标签内。 这可能会导致Web浏览器出现渲染问题,并且如果用于显示来自不受信任源的数据,则可能会导致跨站点脚本漏洞,因为两种解析器将不同意CDATA部分结束的位置。

    一个简短的SGML教程。

    另请参阅CDATA上的Wikipedia条目。


    CDATA在HTML中完全没有意义。

    CDATA是一个XML结构,它设置一个标签的内容,通常是#PCDATA分析的字符数据,取而代之的是#CDATA,即非分析字符数据。 它仅在XHTML中相关且有效。

    它用在script标记中以避免解析<& 。 在HTML中,这不是必需的,因为在HTML中, script已经是#CDATA。


    来自http://en.wikipedia.org/wiki/CDATA:

    由于能够在网页脚本中使用少于符号(<)和与符号(&)并且在较小程度上使用样式,而不必记住将其转义,所以通常在内联文本和XHTML文档中的元素。 但是,为了使文档也可以通过HTML分析器进行分析,这些分析器不识别CDATA标记,所以CDATA标记通常会被注释掉,如下面的JavaScript示例所示:

    <script type="text/javascript">
    //<![CDATA[
    document.write("<");
    //]]>
    </script>
    
    链接地址: http://www.djcxy.com/p/88905.html

    上一篇: What is CDATA in HTML?

    下一篇: paragraph