Ilustrasi meja kerja dengan laptop dan catatan untuk menambahkan script ke HTML

Untuk menambahkan script ke HTML, letakkan kode JavaScript di dalam tag <script>. Posisi dan atribut yang dipilih memengaruhi kecepatan render dan urutan eksekusi. Artikel ini membahas penempatan script, pemakaian async atau defer, serta error yang sering muncul.

1. Menambahkan Script Langsung di Dalam HTML

Cara paling sederhana adalah menulis kode JavaScript di antara tag <script> dan </script>. Letakkan sebelum tag penutup </body> agar HTML sempat dirender sebelum script dijalankan.

<!DOCTYPE html>
<html>
<head>
  <title>Contoh</title>
</head>
<body>
  <h1>Halo</h1>
  <script>
    console.log('Script berjalan');
  </script>
</body>
</html>

Script di akhir body tidak memblokir parsing HTML. Jika script perlu mengakses elemen DOM, pastikan elemen tersebut sudah ada sebelum script dieksekusi.

2. Menggunakan File JavaScript Eksternal

Kode yang dipakai di banyak halaman sebaiknya disimpan dalam file terpisah berekstensi .js, lalu dihubungkan dengan atribut src.

<script src="app.js"></script>

File eksternal bisa di-cache browser dan membuat HTML lebih rapi. Letakkan file di folder yang sama atau gunakan path relatif yang benar. Jika file tidak ditemukan, browser mencatat error 404 di konsol.

3. Mengatur Waktu Eksekusi dengan async dan defer

Script eksternal bisa memperlambat render jika tidak diatur. Atribut async dan defer memberi tahu browser cara mengunduh dan menjalankan script.

  • Tanpa atribut: browser mengunduh dan menjalankan script segera, memblokir parsing HTML sampai selesai.
  • async: browser mengunduh script secara paralel dan menjalankannya segera setelah siap, tanpa menunggu parsing HTML selesai. Urutan eksekusi tidak dijamin.
  • defer: browser mengunduh script secara paralel tetapi menjalankannya setelah parsing HTML selesai, sesuai urutan kemunculan. Cocok untuk script yang membutuhkan DOM lengkap.

Gunakan async untuk script independen seperti analytics, dan defer untuk script yang bergantung pada DOM atau script lain.

<script src="analytics.js" async></script>
<script src="app.js" defer></script>

4. Menempatkan Script di Head dengan defer

Jika script harus dimuat di head, tambahkan defer agar tidak memblokir render. Contoh:

<head>
  <script src="main.js" defer></script>
</head>

Dengan defer, script dieksekusi setelah DOM siap, sehingga aman mengakses elemen di body. Pastikan tidak ada script lain yang membutuhkan main.js sebelum dieksekusi.

5. Menangani Urutan Ketergantungan Antar Script

Jika beberapa script saling bergantung, atur urutan pemuatan. Script yang menyediakan library harus dimuat sebelum script yang menggunakannya. Gunakan defer pada keduanya agar urutan terjaga.

<script src="jquery.js" defer></script>
<script src="plugin.js" defer></script>

Alternatif lain, gabungkan script menjadi satu file atau gunakan module (type="module") yang mendukung import/export. Module secara default dieksekusi setelah parsing dan memiliki scope sendiri.

6. Praktik Terbaik dan Kesalahan Umum

Beberapa kebiasaan berikut membantu menghindari masalah saat menambahkan script:

  • Letakkan script di akhir body atau gunakan defer untuk script di head.
  • Hindari menulis kode JavaScript langsung di HTML untuk proyek besar; pisahkan ke file eksternal.
  • Periksa konsol browser jika script tidak berjalan; error sintaks atau path file yang salah sering menjadi penyebab.
  • Gunakan DOMContentLoaded jika perlu memastikan DOM siap tanpa defer.
  • Minimalkan jumlah script eksternal untuk mengurangi permintaan HTTP.

Pada layout yang kompleks, pengaturan script yang tepat berpengaruh pada performa. Misalnya saat membuat layout card responsif dengan CSS Grid, script yang memanipulasi DOM sebaiknya dimuat dengan defer agar kartu tidak berkedip.

7. Contoh Penerapan pada Layout Web

Misalkan kamu memiliki halaman dengan layout dua kolom dan ingin menambahkan interaksi tombol. Letakkan script di akhir body:

<body>
  <div class="container">...</div>
  <script src="interaksi.js"></script>
</body>

Di dalam interaksi.js, pastikan elemen sudah ada sebelum menambahkan event listener. Jika tidak, gunakan defer atau bungkus dengan DOMContentLoaded.

Untuk menguji koneksi jaringan saat memuat script dari CDN, kamu bisa menggunakan metode uji konektivitas jaringan agar tahu apakah masalahnya di server atau di kode. Jika ingin menyimpan catatan konfigurasi script dengan aman, ada perbandingan aplikasi catatan terenkripsi yang bisa menjadi referensi.

Bagi yang ingin menyaksikan pertandingan basket, sepakbola, atau UFC secara gratis dengan host yang menghibur, kunjungi tarkamlive. Situs ini menyediakan streaming nonton bareng yang bisa diakses saat sedang mengerjakan proyek coding.

Ringkasan

Menambahkan script ke HTML bukan sekadar menempel tag. Pilih lokasi yang tepat, manfaatkan async atau defer sesuai kebutuhan, dan jaga urutan ketergantungan. Dengan begitu, halaman tetap cepat dan script berjalan tanpa error.

Pertanyaan yang Sering Diajukan

Apakah boleh menaruh tag script di dalam head?

Boleh, tetapi tambahkan atribut defer agar tidak memblokir render. Tanpa defer, browser akan menghentikan parsing HTML sampai script selesai diunduh dan dijalankan.

Apa bedanya async dan defer?

async menjalankan script segera setelah selesai diunduh tanpa menunggu urutan, sedangkan defer menunda eksekusi hingga parsing HTML selesai dan menjaga urutan sesuai kemunculan.

Bagaimana cara memastikan script berjalan setelah DOM siap?

Gunakan defer pada tag script, atau bungkus kode dengan event listener DOMContentLoaded di dalam file JavaScript.

Related Posts