--- title: DOMContentLoaded slug: Web/API/Window/DOMContentLoaded_event translation_of: Web/API/Window/DOMContentLoaded_event original_slug: Web/Events/DOMContentLoaded ---
L’évènement DOMContentLoaded
est émis lorsque le document HTML initial a été complètement chargé et analysé, sans attendre que les feuilles de style, images et sous-documents aient terminé de charger.
Bouillonne | Oui |
---|---|
Annulable | Oui (bien que spécifié comme évènement simple non annulable) |
Interface | {{domxref("Event")}} |
Propriété de gestion de l’évènement | Aucune |
La cible originale pour cet évènement est le {{domxref("Document")}} qui a terminé de charger. Vous pouvez observer cet évènement sur l’interface Window
pour le gérer dans les phases de capture ou de bouillonnement. Pour plus de détails, veuillez consulter la page de l’évènement {{domxref("Document/DOMContentLoaded_event", "Document: DOMContentLoaded event")}}.
L’évènement load
, très différent, doit être utilisé uniquement pour détecter qu’une page est entièrement chargée. C’est une erreur répandue d’utiliser load
là où DOMContentLoaded
serait beaucoup plus approprié.
Note : Le JavaScript synchrone interromp l’analyse du DOM.
Note : Il existe également de nombreuses bibliothèques indépendantes à usage général qui offrent des méthodes multi-navigateur pour détecter quand le DOM est prêt.
Si vous voulez que le DOM soit analysé aussi rapidement que possible après que l’utilisateur ou l’utilisatrice a demandé la page, vous pouvez rendre votre JavaScript asynchrone et optimiser le chargement des feuilles de style. Ces dernières, sans optimisation, ralentissent le chargement de la page parce qu’elles sont chargées en parallèle, et « subtilisent » de la bande passante au document html principal.
window.addEventListener("DOMContentLoaded", (event) => { console.log("DOM entièrement chargé et analysé"); });
Spécification | Statut |
---|---|
{{SpecName('HTML WHATWG', 'indices.html#event-domcontentloaded')}} | {{Spec2('HTML WHATWG')}} |
{{Compat("api.Window.DOMContentLoaded_event")}}