我应该在HTML5中使用<!]>吗?

我很肯定<![CDATA[...]]>部分可以在XHTML5中使用,但HTML5呢?

CDATA结构根本不适用于HTML,而是用于XML。

人们有时会在script标签中使用它们,因为它不需要转义某些特殊字符。 这绝不是一个要求,但(无论是HTML 4或5)。

编辑:这是我们打开从2002年真正发霉的老蠕虫jar,无论你是发送XHTML为text/html或像application/xhtml+xml像“应该”:-)

从同一页面@pst链接到 :

scriptstyle标记的特定于元素的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 之外有效。