Apa perbedaan antara DOMContentLoaded
dan load
peristiwa?
javascript
browser
Viktor
sumber
sumber
Jawaban:
Dari Pusat Pengembang Mozilla :
sumber
The
DOMContentLoaded
acara akan api segera hirarki DOM telah sepenuhnya dibangun,load
acara akan melakukannya ketika semua gambar dan sub-frame memiliki pemuatan selesai.DOMContentLoaded
akan bekerja pada sebagian besar browser modern,tetapi tidak pada IEtermasuk IE9 dan di atasnya. Ada beberapa solusi untuk meniru acara ini di versi IE yang lebih lama, seperti yang digunakan di perpustakaan jQuery, mereka melampirkan acara khusus IEonreadystatechange
.sumber
Lihat perbedaannya sendiri:
DEMO
Dari Microsoft IE
Dari Jaringan Pengembang Mozilla
sumber
DOMContentLoaded
menjamin bahwa semua skrip (termasuk menunda / async) telah dimuat? Tidak ada yang dikatakan di sini tentang skrip: developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoadedDOMContentLoaded
==window.onDomReady()
Load
==window.onLoad()
Lihat: http://learn.jquery.com/using-jquery-core/document-ready/
sumber
domContentLoaded : menandai titik ketika kedua DOM siap dan tidak ada stylesheet yang memblokir eksekusi JavaScript - artinya kita sekarang dapat (berpotensi) membangun pohon render. Banyak kerangka kerja JavaScript menunggu acara ini sebelum mulai menjalankan logikanya sendiri. Karena alasan ini browser menangkap cap waktu EventStart dan EventEnd untuk memungkinkan kami melacak berapa lama waktu yang diperlukan untuk eksekusi ini.
loadEvent : sebagai langkah terakhir di setiap halaman memuat browser akan mengaktifkan "onload" yang dapat memicu logika aplikasi tambahan.
sumber
sumber
Inilah beberapa kode yang berfungsi untuk kita. Kami menemukan MSIE terkena dan luput
DomContentLoaded
, tampaknya ada beberapa penundaan ketika tidak ada sumber daya tambahan di-cache (hingga 300 ms berdasarkan pada logging konsol kami), dan itu memicu terlalu cepat ketika mereka di-cache. Jadi kami terpaksa mundur untuk MISE. Anda juga ingin memicudoStuff()
fungsi apakahDomContentLoaded
memicu sebelum atau setelah file JS eksternal Anda.sumber