Atribut loading="lazy" memberitahu browser untuk menangguhkan pemuatan gambar atau iframe hingga akan memasuki viewport — menghemat bandwidth dan mempercepat beban awal, tanpa JavaScript.
Atribut loading="lazy" memberitahu browser untuk menangguhkan pemuatan gambar atau iframe hingga akan memasuki viewport — menghemat bandwidth dan mempercepat beban awal, tanpa JavaScript.
lazy — muatkan hanya saat scroll membawanya dekat viewport.eager (default) — muatkan segera, terlepas dari posisi.Browser menggunakan margin (memuat sedikit sebelum elemen scroll ke tampilan) jadi gambar biasanya siap pada saat pengguna melihatnya.
<img src="x.jpg" loading="lazy" width="800" height="600" />
Tanpa dimensi (atau aspect-ratio), gambar dimuat malas tidak memiliki ruang cadangan, jadi saat dimuat halaman melompat — merusak Cumulative Layout Shift (CLS). Selalu cadangkan ruang.
<!-- ❌ the hero/LCP image should load eagerly — lazy delays it -->
<img src="hero.jpg" loading="lazy" />
<!-- ✅ -->
<img src="hero.jpg" loading="eager" fetchpriority="high" />
Pemuatan malas gambar Largest Contentful Paint sebenarnya merusak kinerja — menunda piksel terpenting. Muat malas hanya media layar-luar.
// the old manual approach native lazy-loading replaced
const io = new IntersectionObserver((entries) => {
entries.forEach((e) => { if (e.isIntersecting) e.target.src = e.target.dataset.src; });
});
Pemuatan malas asli loading="lazy" menghilangkan kebutuhan ini dalam banyak kasus (meskipun IntersectionObserver masih berguna untuk logika khusus).
Pemuatan malas asli mengurangi byte awal dan permintaan untuk halaman panjang dengan banyak gambar — kemenangan mobile besar — gratis.
Nuansa penting: cadangkan dimensi untuk melindungi CLS, dan pertahankan konten di atas lipatan/LCP gambar eager (bahkan fetchpriority="high") agar konten penting tetap memuat cepat.
Pustaka soalan temu duga IT dengan jawapan terperinci — daripada Junior hingga Senior.
Derma