Atribut async HTML <script>
Definisi dan penggunaan
async
Atribut adalah atribut boolean.
Jika diatur async
Atribut, skrip akan diunduh paralel saat mengurai halaman dan dieksekusi segera saat tersedia. Setelah skrip sepenuhnya diunduh, penguraian halaman akan terhenti, kemudian eksekusi skrip, dan kemudian melanjutkan penguraian bagian lain dari halaman.
Perhatian:async
Atribut hanya berlaku untuk skrip eksternal (dan hanya seharusnya digunakan saat atribut src ada).
Perhatian:Skrip eksternal dapat dieksekusi dengan berbagai cara:
- Jika sudah diatur async: skrip akan diunduh paralel saat mengurai halaman dan dieksekusi segera saat tersedia (sebelum penguraian selesai)
- Jika sudah diatur defer (tanpa diatur async): skrip akan diunduh paralel saat mengurai halaman dan dieksekusi setelah penguraian halaman selesai
- Jika keduanya tidak ada async maupun defer: skrip akan diunduh dan dieksekusi segera, memblokir penguraian halaman sampai skrip selesai dieksekusi
Contoh
Skrip yang diikutsertakan akan diunduh paralel saat mengurai halaman dan dieksekusi segera saat tersedia:
<script src="demo_async.js" async></script>
Sintaks
<script async>
Eksekusi skrip asinkron
Perilaku default yang dihadapi browser saat menemukan elemen script adalah menghentikan pengolahan halaman saat mengunduh dan mengeksekusi skrip. Setiap elemen script dijalankan seurut-seurut (sesuai urutan yang didefinisikan) secara bersamaan (tidak mengambil perhatian hal lain selama pengunduhan dan eksekusi skrip).
Sebagai cara default untuk menangani skrip, eksekusi berurutan mempunyai makna khusus. Namun, beberapa skrip tidak memerlukan penanganan seperti ini, untuk skrip jenis ini dapat digunakan async
properti untuk meningkatkan kinerjanya. Contoh tipikal ini adalah skrip pelacak (tracking script). Skrip ini dapat melaporkan riwayat kunjungan situs pengguna untuk perusahaan iklan untuk menyesuaikan dan menampilkan iklan berdasarkan kebiasaan pengguna, atau mengumpulkan statistik kunjungan pengunjung situs untuk analisis, dan sebagainya. Skrip ini bekerja sendiri, biasanya tidak memerlukan interaksi dengan elemen di dokumen HTML. Menunda penampakan halaman untuk menunggu pemangkasan mereka dan mengirimkan laporan ke server sendiri tak ada makna.
Dengan penggunaan async
Setelah properti ini, browser akan memuat dan melaksanakan skrip secara asinkron saat melanjutkan penguraian elemen lain di HTML (termasuk elemen script lain). Jika digunakan dengan benar, ini dapat meningkatkan performa pengambilan secara besar-besaran.
Perhatian:Penggunaan async
Sebuah konsekuensi penting dari properti ini adalah skrip di halaman mungkin tidak berjalan menurut urutan yang didefiniskan. Jadi, jika skrip menggunakan fungsi atau nilai yang didefiniskan dalam skrip lain, maka penggunaannya tidak disarankan async
Properti.
Dukungan Browser
Angka di tabel menunjukkan versi browser pertama yang mendukung sifat ini.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
8.0 | 10.0 | 3.6 | 5.1 | 15.0 |