Pertanyaan Haruskah saya menggunakan dalam HTML5?


Saya sangat yakin <![CDATA[...]]> bagian dapat digunakan di XHTML5, tetapi bagaimana dengan HTML5?


75
2017-07-21 18:43


asal


Jawaban:


Itu CDATA struktur tidak benar-benar untuk HTML sama sekali, itu untuk XML.

Terkadang orang menggunakannya dalam HTML di dalamnya script tag karena menghilangkan kebutuhan mereka untuk keluar dari karakter khusus tertentu. Ini sama sekali bukan persyaratan, meskipun (untuk HTML 4 atau 5).

Edit: Di sinilah kami membuka can yang lama dari cacing dari tahun 2002 tentang apakah Anda mengirim XHTML sebagai text/html atau sebagai application/xhtml+xml seperti Anda "seharusnya" :-)


56
2017-07-21 18:48



Dari halaman yang sama @pst tertaut ke:

Penguraian khusus elemen untuk script dan style tag, Panduan untuk kompatibilitas XHTML-HTML: "Kode berikut dengan escape dapat memastikan skrip dan elemen gaya akan bekerja di XHTML dan HTML, termasuk browser yang lebih lama."

Kompatibilitas mundur maksimum:

<script type="text/javascript"><!--//--><![CDATA[//><!--
    ...
//--><!]]></script>

Versi yang lebih sederhana, semacam tidak kompatibel dengan "banyak peramban yang lebih lama":

<script>//<![CDATA[
   ...
//]]></script>

Begitu, CDATA dapat digunakan dalam HTML5, dan ini direkomendasikan di Panduan untuk kompatibilitas XHTML-HTML. Ini berguna untuk poliglot Halaman HTML / XML / XHTML, yang dibuat dan diuraikan sebagai XML selama pengembangan, tetapi disajikan sebagai HTML5 untuk kompatibilitas lintas peramban yang lebih baik. Halaman Polyglot memiliki manfaatnya, dan saya telah menggunakan ini sendiri, karena lebih mudah untuk men-debug XML / XHTML5. Google Chrome, misalnya, akan melemparkan kesalahan untuk XML / XHTML5 yang tidak valid (termasuk misalnya karakter melarikan diri), sedangkan halaman yang sama disajikan sebagai HTML5 akan "hanya bekerja" alias "mungkin berhasil".


22
2017-07-13 00:25



Spesifikasinya tampaknya menjernihkan masalah ini. skrip dan tag gaya dianggap sebagai "elemen teks mentah". CDATA tidak diperlukan atau diizinkan untuk mereka. CDATA hanya digunakan dengan "konten asing" - yaitu MathML dan SVG. Perhatikan bahwa ada beberapa batasan untuk apa yang bisa masuk dalam tag skrip - pada dasarnya Anda tidak dapat meletakkan sesuatu seperti var x = '</script>' di sana karena akan menutup tag dan perlu dibagi seperti pst yang tercantum dalam jawabannya. http://www.w3.org/TR/html5/syntax.html#cdata-rcdata-restrictions


14
2017-12-19 20:05



Mungkin melihat: http://wiki.whatwg.org/wiki/HTML_vs._XHTML

<! [CDATA [...]]> adalah komentar palsu.

Di HTML, <script> sudah dilindungi - inilah sebabnya kadang-kadang harus ditulis sebagai a = "<" + "/script>", untuk menghindari membingungkan browser. Perhatikan bahwa kode tersebut valid di luar CDATA dalam HTML.


5
2017-07-21 18:47