Rumah >hujung hadapan web >tutorial js >Mengapa Pisahkan Teg `` dalam Panggilan `document.write()`?
Pengenalan:
Amalan membahagikan tag HTML kepada beberapa bahagian dalam document.write() telah membingungkan ramai pembangun . Khususnya, pemisahan
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
Keserasian Pelayar dan Pertimbangan XHTML:
Memisahkan tag juga menangani isu keserasian penyemak imbas. Walaupun penyemak imbas biasanya menghuraikan HTML sebagai CDATA, menganggap mana-mana sebagai pembatas terbuka tag akhir, mereka hanya menamatkan blok skrip pada 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
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!