我一直在读DOM文档,似乎在新标准中,CDATA部分的节点类型现在已经消失了。
似乎mozilla已删除CDATA_SECTION_NODE
,因为它现已弃用。在DOM文档中
现在它说它的历史。我的问题是:如果现在函数nodeType
没有检测到CDATA_SECTION_NODE
DOM如何处理这些标记?那就是我写的
<script><![CDATA[ /*Some code with < & and what not */ ]]></script>
那么如果没有节点来处理CDATA部分,浏览器将如何处理?它是否只是阅读内容而忽略了<!CDATA[
和]]>
字符串?
此外,是否有任何地方可以解释摆脱它的决定?
答案 0 :(得分:0)
CDATA处理有几个不同的组件:
CDATASection
Node.CDATA_SECTION_NODE
nodeType接口,或者它是否只是一个文本节点。<!CDATA[ ... ]]>
的标记 - 它如何处理CDATA中的特殊字符(<>&
),它是否为CDATA部分发出单个节点,如果是这样,它会在DOM中创建Text
节点或CDATASection
节点。<![CDATA[ ]]>
中或使用特殊字符转义)据我所知,#5 HTML5解析器规范是在大多数浏览器中实现的,根据它,解析器永远不会发出CDATASection节点,具体取决于上下文
<script>
或<math>
>
。关于如何以及是否应该在DOM中公开CDATA的问题尚未达成一致,尽管已从DOM4规范中删除,但它至少仍可用于Gecko(参见Mozilla bug 660660,W3C错误{{3 }和12841)。