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

Mengapa Pisahkan Teg `` Menggunakan `document.write()`?

DDD
DDDasal
2024-12-11 17:10:10834semak imbas

Why Split `` Tags Using `document.write()`?

Document.write() Pemisahan Teg Skrip: Rasional

Dalam pembangunan web, ia adalah perkara biasa untuk menemui skrip yang ditulis menggunakan document.write () yang membelah atau /skrip> tag. Amalan ini mungkin menimbulkan persoalan, "Mengapa menggunakan teknik sedemikian?"

Sebab Pemisahan:

Jawapannya terletak pada cara penghurai HTML mengendalikan bahagian CDATA dalam < ;skrip> elemen. Walaupun SGML menentukan bahawa blok harus ditamatkan apabila menemui sebarang jujukan terbuka tag akhir (cth., close-tag sebagai penghujung blok skrip.

Kepentingan Pemisahan:

Pertimbangkan contoh berikut:

<script type='text/javascript'>
  document.write('<scr' + 'ipt type="text/javascript" src="script.js"></sc' + 'ript>');
</script>

Dalam kes ini , jika teg tidak dipecahkan, urutan teg rapat blok, menamatkan skrip sebelum waktunya. Memisahkan teg memastikan penyemak imbas menghuraikan dan melaksanakan keseluruhan skrip dengan betul.

XHTML dan Penulisan Skrip:

Dalam XHTML, tiada pengendalian khas untuk blok skrip. Watak seperti < dan & mesti dilepaskan dalam skrip. Walau bagaimanapun, penggunaan aksara yang tidak dilepaskan boleh menyebabkan kekeliruan dalam penyemak imbas yang menghuraikan XHTML sebagai HTML.

Penulisan Skrip Alternatif:

Untuk memenuhi kedua-dua penghurai XHTML dan HTML, pertimbangkan untuk menggunakan pendekatan berikut:

');

Dengan melarikan aksara menggunakan tatatanda heksadesimal, anda memastikan bahawa skrip akan ditafsirkan dengan betul oleh semua penghurai.

Atas ialah kandungan terperinci Mengapa Pisahkan Teg `` Menggunakan `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