Rumah >hujung hadapan web >tutorial js >Mengapa Sesetengah Laman Web Membahagikan Teg `` Menggunakan `document.write()`?

Mengapa Sesetengah Laman Web Membahagikan Teg `` Menggunakan `document.write()`?

Barbara Streisand
Barbara Streisandasal
2024-12-25 19:04:10763semak imbas

Why Do Some Websites Split `` Tags Using `document.write()`?

Memisahkan Teg dalam document.write()

Memisahkan dan teg menggunakan document.write() ialah teknik yang digunakan oleh sesetengah tapak web untuk menambahkan skrip pada halaman web secara dinamik.

Mengapa Pemisahan Perlu?

Dalam HTML, < skrip> tag melampirkan kod JavaScript. Apabila penyemak imbas menemui tag, ia mentafsir kod di dalam dan melaksanakannya. Walau bagaimanapun, jika tag dibahagikan kepada dua bahagian dan ditulis dengan document.write(), ia menghalang penamatan pramatang blok skrip.

Gelagat Penyemak Imbas dengan CDATA

Dalam HTML, < ;skrip> tag menggunakan bahagian CDATA (Data Aksara) untuk kandungannya. Blok CDATA sepatutnya tamat apabila ia menemui pembatas terbuka tag akhir, seperti <. Walau bagaimanapun, penyemak imbas biasanya hanya menamatkan blok skrip CDATA pada close-tag.

Contoh

Sebagai contoh, kod berikut daripada Amazon menunjukkan teknik:

<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>

Pendekatan Alternatif

Dalam XHTML, skrip mesti dielakkan untuk mengelakkan kekeliruan. Pendekatan yang lebih baik ialah menggunakan jujukan aksara heksadesimal untuk menulis elemen skrip, seperti yang dilihat di bawah:

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

Dengan mengikut garis panduan ini, pembangun boleh menggabungkan skrip dinamik dengan berkesan ke dalam halaman web mereka sambil mengekalkan keserasian dengan pelayar yang berbeza dan Piawaian HTML.

Atas ialah kandungan terperinci Mengapa Sesetengah Laman Web Membahagikan 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