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

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

Patricia Arquette
Patricia Arquetteasal
2024-12-14 08:02:11773semak imbas

Why Split the `` Tag When Using `document.write()`?

Memisahkan Teg dalam document.write()

Document.write() ialah kaedah yang berkuasa untuk memasukkan kandungan secara dinamik ke dalam dokumen HTML. Walau bagaimanapun, apabila menulis teg menggunakan document.write(), ia menjadi perlu untuk membahagikan teg kepada beberapa bahagian. Teknik ini digunakan oleh pelbagai tapak web, termasuk Amazon, untuk mengelakkan penamatan pramatang blok.

Keperluan untuk pemisahan timbul daripada cara pelayar mengendalikan tag. Dalam SGML, blok skrip sepatutnya berakhir pada sebarang jujukan terbuka tag akhir ( tag. Walau bagaimanapun, penyemak imbas hanya menamatkan penghuraian apabila menemui close-tag.

Oleh itu, jika tidak berpecah, ia akan menamatkan keseluruhan secara pramatang; blok. Untuk mengelakkan ini, tapak web membahagikan tag di sekeliling < dan /, mengekalkan jujukan terbuka tag akhir yang diperlukan tanpa menamatkan blok terlebih dahulu.

Sebagai contoh, Amazon menggunakan teknik ini untuk menyertakan jQuery secara dinamik:

<script type='text/javascript'>
  if (typeof window['jQuery'] == 'undefined') document.write('<scr'+'ipt type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.pack._V265113567_.js"></sc'+'ript>');
</script></p>
<p>Dalam XHTML, tiada pengendalian khas untuk blok skrip, jadi semua aksara di dalamnya mesti dilepaskan. Walau bagaimanapun, ini boleh menyebabkan kekeliruan untuk pelayar menghuraikan XHTML sebagai HTML. Untuk mengelakkan ini, adalah lebih baik untuk menggunakan rujukan aksara heksadesimal untuk mewakili aksara kurang daripada dan ampersand:</p>
<pre class="brush:php;toolbar:false"><script type="text/javascript">
    document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');
</script>

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