何时使用<! - [CDATA [在Javascript中 - >

时间:2013-07-17 10:45:27

标签: javascript

我看到一些包含CDATA的Javascript代码。例如我从中复制过 http://www.w3schools.com/xml/xml_cdata.asp

<script>
    <![CDATA[
    function matchwo(a,b)
    {
    if (a < b && a < 0) then
      {
      return 1;
      }
    else
      {
      return 0;
      }
    }
    ]]>
    </script>

请注意,我在上面的链接中做了一个描述。但是我可以得出结论何时决定使用CDATA标签。

如果有人能帮我理解这个标签的用途,那么何时使用它会很棒。

3 个答案:

答案 0 :(得分:6)

在XHTML中,脚本元素的内容被视为标记。因此<&具有其通常的特殊含义。 CDATA块告诉解析器将内容视为文本而不是标记,因此如果x小于y ,则可以说,而不将<视为标记的开头。< / p>

请注意,如果您使用内容类型text/html提供XHTML,那么它将被视为损坏的HTML而不是XML。我建议避免使用XHTML - 只有在工具链中使用XML处理器并将其与HTML解析器很好地配合才是有用的,这是不必要的工作。只需编写HTML并完成它。

答案 1 :(得分:3)

我们可以说,我们需要CDATA部分,我们需要您的文档解析为XML

答案 2 :(得分:0)

CDATA在HTML中没有任何意义,但在XML中它用于处理尖括号和&符号等字符。当我需要在我的XSL转换中包含JavaScript时,我使用CDATA块。

了解CDATA的功能可能会帮助您了解何时使用它:“某些文本(如JavaScript代码)包含大量”&lt;“或”&amp;“字符。为避免错误,脚本代码可以定义为CDATA “。另见:What is CDATA in HTML?