我很确定<![CDATA[...]]>
部分可以在XHTML5中使用,但是HTML5呢?
我很确定<![CDATA[...]]>
部分可以在XHTML5中使用,但是HTML5呢?
Answers:
该CDATA
结构根本就不是针对HTML,而是针对XML。
人们有时会在HTMLscript
标记内使用它们,因为它消除了它们转义某些特殊字符的需要。但这绝不是必需的(对于HTML 4或5)。
编辑:在这里,我们打开从2002年起真正发霉的旧蠕虫病毒罐,讨论是否将XHTMLtext/html
或application/xhtml+xml
类似地发送到:-)
CDATA
在pre
标签内使用,这样我就不必修理所有的尖括号了吗?
在同一页面,@ pst链接到:
单元特定的分析
script
和style
标签,指导XHTML,HTML兼容性:“下面的代码与逃逸可以保证脚本和样式元素将在这两个XHTML和HTML工作,包括旧的浏览器”
最大的向后兼容性:
<script type="text/javascript"><!--//--><![CDATA[//><!--
...
//--><!]]></script>
比较简单的版本,与“更旧的浏览器”不兼容:
<script>//<![CDATA[
...
//]]></script>
因此,CDATA
可以在HTML5中使用,并且在XHTML-HTML兼容性指南中推荐使用。这对于多语言HTML / XML / XHTML页面很有用,这些页面在开发过程中被创建并解析为XML,但作为HTML5可以更好地跨浏览器兼容。Polyglot页面有其优点,我自己使用了它,因为调试XML / XHTML5容易得多。例如,谷歌浏览器将针对无效的XML / XHTML5(包括例如字符转义)抛出错误,而用作HTML5的同一页面将“正常工作”,也称为“可能正常工作”。
规范似乎可以解决此问题。脚本和样式标签被视为“原始文本元素”。不需要或不允许使用CDATA。CDATA仅与“外部内容”一起使用-即MathML和SVG。请注意,脚本标记中可以包含一些限制-基本上您不能var x = '</script>'
在其中放置类似内容,因为它会关闭标记,并且需要像答案中指出的pst一样进行拆分。http://www.w3.org/TR/html5/syntax.html#cdata-rcdata-restrictions
也许看到:http : //wiki.whatwg.org/wiki/HTML_vs._XHTML
<![CDATA [...]]>是伪造的注释。
在HTML中,<script>
它已经受到保护-这就是为什么有时必须将其编写为a = "<" + "/script>"
,以避免混淆浏览器的原因。请注意,该代码在HTML中的CDATA外部有效。