Window onload dan document ready event bisa membuat kita bingung, dan menggunakan salah satunya bisa membuat masalah dikode yang mungkin susah untuk dicari tahu karena perbedaannya yang tipis diantara keduanya. Mari kita bahas satu per satu.

  1. Window load event
    Window load event berjalan saat seluruh halaman web telah selesai dimuat, menunggu semua element, konten dan termasuk juga resources yang dibutuhkan. Contoh untuk element tersebut adalah semua tag HTML yang berupa h1 tag, p tag, dan lain lain. Jika untuk resources atau konten contohnya stylesheets css, library js, gambar, video dan lain lain. Contoh untuk defined window load event sebagai berikut :

    window.addEventListener(”load”, (event) => {
    	// insert code here
    });
    

    Jika menggunakan jQuery sebagai script utama, maka kode yang digunakan akan menjadi seperti berikut:

    $(window).on(‘load’, function () {
    
    });

  2. Ready event
    Ready Event berjalan saat DOM (Document Object Model) telah selesai dimuat, hanya menunggu element seperti tag HTML dan lain lain, namun tidak menuggu konten seperti gambar, video. Contoh untuk defined ready event sebagai berikut :

    $(document).ready(function () {
    	//insert code here
    });
    

    Sekarang kita tahu keduanya dan cara untuk defined keduanya, mari kita lihat perbedaannya :

    1. Document ready menggunakan jQuery event yang artinya kita memerlukan library jQuery, sedangkan untuk window load, itu hanya Javascript sudah tersedia disebagian besar browser.
    2. Untuk perbedaan yang paling mencolok dari definisi kedua hal tersebut, window load menunggu konten selesai dimuat, berbeda dengan document ready, jadi jika video/gambar membutuhkan waktu lama untuk dimuat, window load akan menunggu untuk berhasil dimuat terlebih dahulu, dan selama itu tidak ada code yang didalam script tersebut yang dijalankan. Oleh karena itu user mungkin harus menunggu lama. Disisi lain document ready, tidak akan menunggu konten telah dimuat, melainkan ketika script dimuat setelah DOM siap.