我应该在HTML5中使用<!]>吗?
我很肯定<![CDATA[...]]>
部分可以在XHTML5中使用,但HTML5呢?
CDATA
结构根本不适用于HTML,而是用于XML。
人们有时会在script
标签中使用它们,因为它不需要转义某些特殊字符。 这绝不是一个要求,但(无论是HTML 4或5)。
编辑:这是我们打开从2002年真正发霉的老蠕虫jar,无论你是发送XHTML为text/html
或像application/xhtml+xml
像“应该”:-)
从同一页面@pst链接到 :
script
和style
标记的特定于元素的parsing, XHTML-HTML兼容性指导 :“下面的转义代码可以确保脚本和样式元素在XHTML和HTML(包括旧版浏览器)中都能正常工作。
最大向后兼容性:
<script type="text/javascript"><!--//--><![CDATA[//><!-- ... //--><!]]></script>
更简单的版本,与“更旧的浏览器”不兼容:
<script>//<![CDATA[ ... //]]></script>
所以, CDATA
可以在HTML5中使用,并且在XHTML-HTML兼容性的指导中被推荐。 这对多语言 HTML / XML / XHTML页面非常有用,它们在开发过程中被创build和parsing为XML,但作为HTML5提供更好的跨浏览器兼容性。 Polyglot页面有其好处 ,我自己也使用过,因为debuggingXML / XHTML5更容易。 例如,Google Chrome会针对无效的XML / XHTML5(包括字符转义 )发出错误提示,而HTML5提供的同一个页面将“正常工作”又称为“可能的工作”。
规范似乎清除了这个问题。 脚本和风格标签被认为是“原始文本元素”。 CDATA是不需要或不允许的。 CDATA仅用于“外部内容” – 即MathML和SVG。 请注意,脚本标记中可以包含一些限制 – 基本上不能在其中放置类似于var x = '</script>'
的内容,因为它会closures标记并需要像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 之外有效。