Rumah >hujung hadapan web >tutorial js >Mengapa Pisahkan Teg `` dalam Panggilan `document.write()`?

Mengapa Pisahkan Teg `` dalam Panggilan `document.write()`?

Susan Sarandon
Susan Sarandonasal
2025-01-05 13:35:45143semak imbas

Why Split the `` Tag in `document.write()` Calls?

Memisahkan Panggilan Tag Within document.write(): Mengapa?

Pengenalan:

Amalan membahagikan tag HTML kepada beberapa bahagian dalam document.write() telah membingungkan ramai pembangun . Khususnya, pemisahan tag telah menimbulkan persoalan mengenai tujuannya. Artikel ini menyelidiki sebab di sebalik teknik ini, menjelaskan cabaran dan pertimbangan yang terlibat.

Cabaran dengan Peletakan Teg:

Sebab utama pemisahan tag adalah disebabkan oleh tingkah laku yang menarik dalam SGML, bahasa penanda yang mendasari HTML. Menurut SGML, blok skrip ditamatkan oleh mana-mana jujukan "end-tag open" (ETAGO), termasuk

Jika teg tidak dipecahkan, ia akan menamatkan secara pramatang; blok. Untuk mengelakkan ini, pembangun mesti memisahkan teg dan meletakkan

Keserasian Pelayar dan Pertimbangan XHTML:

Memisahkan tag juga menangani isu keserasian penyemak imbas. Walaupun penyemak imbas biasanya menghuraikan HTML sebagai CDATA, menganggap mana-mana tag.

Dalam XHTML, di mana blok skrip tidak dilayan secara khusus, semua tidak terlepas < aksara mesti dilepaskan menggunakan &. Walau bagaimanapun, ini boleh menyebabkan kekeliruan apabila pelayar menghuraikan XHTML sebagai HTML. Membahagikan tag memastikan keserasian dengan kedua-dua jenis penghurai.

Pendekatan Alternatif:

Semasa membelah tag dalam document.write() ialah amalan biasa, ia bukan satu-satunya pilihan. Penyelesaian yang lebih elegan ialah mengekod keseluruhan teg menggunakan aksara khas, seperti:

document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');

Kaedah ini berfungsi pada kedua-dua penghurai HTML dan XHTML dan mengelakkan keperluan untuk memisahkan teg.

Atas ialah kandungan terperinci Mengapa Pisahkan Teg `` dalam Panggilan `document.write()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn