Rumah >
hujung hadapan web >
tutorial js >
Cara yang berkesan untuk Menggunakan Tag
Penempatan teg <script>
dalam dokumen HTML memberi kesan ketara kepada pemasaan pelaksanaan JavaScript berbanding pemaparan kandungan HTML. Panduan ini meneroka empat pendekatan utama, memperincikan proses pelaksanaannya dan kes penggunaan optimum.
1. <script>
Tag dalam <head>
<code class="language-html"><head>
<script>
// JavaScript code here
</script>
<title>Script in Head</title>
</head>
<h1>Hello, World!</h1></code>
Salin selepas log masuk
Salin selepas log masuk
Proses Pelaksanaan:
- Pelayar menghuraikan dokumen HTML dari atas ke bawah.
- Apabila menemui teg
<script>
dalam <head>
, pemaparan HTML dijeda semasa skrip memuat turun dan melaksanakan.
- Selepas pelaksanaan skrip, penyemak imbas menyambung semula pemprosesan HTML.
Kelemahan:
- Skrip besar atau muat perlahan boleh menangguhkan pemaparan halaman, mengakibatkan skrin kosong.
- Percubaan untuk memanipulasi elemen DOM dalam skrip ini mungkin gagal kerana elemen belum dimuatkan.
Kes Penggunaan Ideal:
- Skrip yang mengandungi fungsi yang tidak diperlukan serta-merta, seperti analitis atau kod konfigurasi.
2. <script>
Tag di penghujung <body>
<code class="language-html"><title>Script at Bottom</title>
<h1>Hello, World!</h1>
<script>
// JavaScript code here
</script></code>
Salin selepas log masuk
Proses Pelaksanaan:
- Pelayar memuatkan dan memaparkan keseluruhan kandungan HTML.
- Teg
<script>
pada penghujung <body>
diproses dan dilaksanakan selepas pemaparan halaman.
Kelebihan:
- Memastikan pemuatan HTML lengkap sebelum pelaksanaan skrip.
- Menghalang kelewatan pemaparan, meningkatkan pengalaman pengguna.
- Elemen DOM tersedia untuk dimanipulasi.
Kelemahan:
- Masa muat halaman meningkat sedikit apabila pelaksanaan JavaScript berlaku selepas pemaparan HTML penuh.
Kes Penggunaan Ideal:
- Skrip yang berinteraksi dengan kandungan halaman (cth., pendengar acara, pengubahsuaian elemen).
3. <script>
Teg dengan async
Atribut
<code class="language-html"><head>
<script async src="script.js"></script>
<title>Script with Async</title>
</head>
<h1>Hello, World!</h1></code>
Salin selepas log masuk
Proses Pelaksanaan:
- Pelayar memuatkan HTML secara berurutan.
- Apabila menemui skrip
async
, ia memuat turun skrip secara serentak sambil meneruskan pemuatan HTML.
- Setelah dimuat turun, skrip dilaksanakan serta-merta, menjeda pemaparan sebentar, kemudian menyambung semula pemuatan HTML.
Kelebihan:
- Tidak menyekat: Pemuatan skrip berlaku di latar belakang tanpa melengahkan pemaparan halaman.
- Pemuatan halaman yang lebih pantas disebabkan oleh muat turun selari.
Kelemahan:
- Skrip mungkin dilaksanakan dalam susunan yang tidak dapat diramalkan jika terdapat beberapa skrip
async
.
- Skrip yang bergantung pada struktur HTML mungkin dilaksanakan lebih awal, menyebabkan ralat.
Kes Penggunaan Ideal:
- Skrip bebas seperti analitis, iklan atau widget media sosial tidak bergantung pada skrip atau elemen HTML lain.
4. <script>
Teg dengan defer
Atribut
<code class="language-html"><head>
<script>
// JavaScript code here
</script>
<title>Script in Head</title>
</head>
<h1>Hello, World!</h1></code>
Salin selepas log masuk
Salin selepas log masuk
Proses Pelaksanaan:
- Pelayar memuatkan HTML secara berurutan.
- Skrip
defer
dimuat turun serentak dengan HTML tetapi dilaksanakan hanya selepas keseluruhan HTML dihuraikan.
- Pelaksanaan berlaku sejurus sebelum acara
DOMContentLoaded
.
Kelebihan:
- Memastikan pelaksanaan skrip selepas pemuatan halaman selesai.
- Mengekalkan susunan pelaksanaan skrip jika berbilang
defer
skrip digunakan.
- Sesuai untuk skrip yang bergantung pada DOM yang tersedia sepenuhnya.
Kes Penggunaan Ideal:
- Skrip memanipulasi DOM selepas ia dimuatkan sepenuhnya.
Jadual Perbandingan
Kaedah |
Masa Pelaksanaan |
Perenderan Sekat |
Kes Penggunaan Terbaik |
Method |
Execution Time |
Blocks Rendering |
Best Use Case |
<script> in <head>
|
Before HTML load |
Yes |
Configuration, early execution logic |
<script> at end of <body>
|
After HTML load |
No |
DOM manipulation, event handling |
<script async> |
When script is downloaded |
No (except during execution) |
Analytics, ads, independent scripts |
<script defer> |
After HTML parse |
No |
DOM-dependent scripts |
dalam
|
Sebelum dimuatkan HTML |
Ya |
Konfigurasi, logik pelaksanaan awal |
pada akhir |
Selepas dimuatkan HTML |
Tidak |
Manipulasi DOM, pengendalian acara |
|
Apabila skrip dimuat turun |
Tidak (kecuali semasa pelaksanaan) |
Analitik, iklan, skrip bebas |
<skrip tangguh> |
Selepas penghuraian HTML |
Tidak |
skrip bergantung kepada DOM |
table>
- Kesimpulan: Amalan Terbaik
<script>
<body>
- Gunakan
<script async>
pada penghujung untuk skrip yang berinteraksi dengan kandungan halaman dan memerlukan DOM yang dimuatkan sepenuhnya.-
<body>
Gunakan untuk skrip bebas seperti analitis dan iklan.-
<head>
Letakkan skrip di bahagian bawah async
jika tiada atribut digunakan untuk pemuatan halaman yang lancar.defer
Elakkan meletakkan skrip dalam
tanpa atau <script>
melainkan benar-benar perlu untuk mengelakkan sekatan rendering.
Menguasai penggunaan teg adalah penting untuk mengoptimumkan aplikasi web. Memilih antara skrip sebaris, dalaman, luaran, tak segerak atau tertunda membolehkan peningkatan prestasi, kebolehselenggaraan kod yang lebih baik dan pengalaman pengguna yang unggul.Atas ialah kandungan terperinci Cara yang berkesan untuk Menggunakan Tag
Artikel terbaru oleh pengarang
Topik-topik yang berkaitan
Lagi>