Javascript 什么是HTML中的CDATA?

Javascript 什么是HTML中的CDATA?,javascript,html,xhtml,cdata,Javascript,Html,Xhtml,Cdata,CDATA在JavaScript标记和HTML中的用途是什么 <script type="text/javascript"> // <![CDATA[ // ]]> </script> // CDATA在HTML中毫无意义 CDATA是一种XML构造,它将标记的内容设置为通常为#PCDATA-已解析的字符数据,改为#CDATA,即未解析的字符数据。它仅在XHTML中相关且有效 它用于script标记中,以避免解析CDATA是文档字符集中的字符序列,

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

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

// ]]>
</script> 

// 

CDATA
在HTML中毫无意义

CDATA
是一种XML构造,它将标记的内容设置为通常为#PCDATA-已解析的字符数据,改为#CDATA,即未解析的字符数据。它仅在XHTML中相关且有效


它用于
script
标记中,以避免解析
CDATA是文档字符集中的字符序列,可能包括字符实体。用户代理应按如下方式解释属性值:
将字符实体替换为字符

忽略换行


用一个空格替换每个回车或制表符

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

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

CDATA-(未分析)字符数据

术语CDATA用于描述不应由XML解析器解析的文本数据

像“]]>
这样的字符

在节目输出中使用CDATA

如果web浏览器将文档呈现为HTML,则XHTML文档中的CDATA部分可能会被不同的浏览器解析,因为HTML解析器无法识别CDATA开始和结束标记,也无法识别HTML实体引用,例如
标记中的
。这可能会导致web浏览器中出现渲染问题,如果用于显示来自不受信任源的数据,则可能导致跨站点脚本漏洞,因为这两种解析器在CDATA部分的结束位置上存在分歧

另外,请参见以下网址中的。

因为它是有用的,能够使用少于标志(
CDATA已过时

请注意,不应在HTML中使用CDATA节;它们仅在XML中工作

所以不要在HTML5中使用它


一种编写HTML和XHTML通用子集的方法

希望更大的可移植性

在HTML中,
是一种魔法,在出现
之前,它会逃避一切

所以你可以写:

<script>x = '<br/>';
也就是说:

  • 兼容的浏览器应该能够从初始doctype
    vs
    中识别文档是HTML还是XHTML
  • 兼容的网站可以依赖兼容的浏览器,并使用单个有效的
    脚本
    语法协调doctype
但这违反了互联网的黄金法则:

不要信任第三方,否则您的产品将崩溃


那么,人们在Javascript标签中使用它吗?它有什么意义,有什么用,thanks@SexyMF可能是因为这些人键入的是XHTML文档而不是SGML/HTML,和/或他们想帮助不太符合标准的浏览器正确加载页面关于CDATA,我已经看到了。它在HTML中确实有意义,这取决于你是否遇到了问题。我想我还有一个更好的问题。概括地说,使用CDATA标记有什么好处?@ajameswo如果你能检查一下,我对变化的内容感到困惑。1)DOM4中仍然存在字符数据?2) 但是CDATA部分被删除了吗?替代方案是什么?强制编码或所有
只需转义特殊字符。据我所知,要创建XML,只需转义字符即可。但是,我关心的是,在浏览器从DOM中删除CDATA节之后,如何处理CDATA节(例如,来自我们无法控制的提要,并且更新其格式可能很慢)?他们什么时候下课?FF 49仍在DOM中向我显示CDATA部分。在它被淘汰并从浏览器中删除后的过渡期内,我不清楚如何处理这种情况。是否只会被视为文本节点?错误(坏标签)?只是试图避免在文本中手动查找标记以提取其中的数据的丑陋。CDATA本身并不是不推荐的。XHTML基于XML,因此它必须支持CDATA。(在HTML中,CDATA标记没有任何意义;它将被解析为虚假注释。)不推荐使用的是CDATA节接口;如果一个页面被解析为XHTML,它的内容将作为一个普通的文本节点出现在DOM中。很抱歉,XHTML已经失效了!但是如果您想要HTML/XML,可以使用XHTML5。仅供参考:伙计。。。当我开始学习JavaScript时,我经常看到这个。。。真的让我回想起过去。
<script>x = '<br/>';
x = '</scripts>'
x = '</scri' + 'pts>'
//