私はかなり確信しています <![CDATA[...]]>
セクションはXHTML5で使用できますが、HTML5はどうですか?
CDATA
構造は実際にはHTML用ではなく、XML用です。
特定の特殊文字をエスケープする必要がなくなるため、人々は時々script
タグ内のHTMLでそれらを使用します。ただし、それは決して要件ではありません(HTML 4または5のいずれか)。
編集:ここで、XHTMLをtext/html
またはapplication/xhtml+xml
あなたが「想定されている」ように:-)
同じページから @ pstリンク先 :
script
およびstyle
タグの要素固有の解析 、XHTML-HTML互換性のガイダンス:「エスケープを使用した次のコードにより、スクリプト要素とスタイル要素がXHTMLと古いブラウザを含むHTMLの両方で機能することを保証できます。」
最大の後方互換性:
<script type="text/javascript"><!--//--><![CDATA[//><!--
...
//--><!]]></script>
より単純なバージョンで、「はるかに古いブラウザ」とは互換性がありません。
<script>//<![CDATA[
...
//]]></script>
したがって、CDATA
はHTML5で使用でき、XHTMLとHTMLの互換性に関するガイダンスで推奨されています。これは polyglotHTML/XML/XHTMLページ に便利です。開発中にXMLとして作成および解析されますが、HTML5として機能しますブラウザ間の互換性を向上させるため。 ポリグロットページには利点があります 。XML/XHTML5をデバッグする方がはるかに簡単なので、自分でこれを使用しました。たとえば、Google Chromeは無効なXML/XHTML5(たとえば、 character escaping を含む)に対してエラーをスローしますが、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で有効outsideであることに注意してください。