Maison > interface Web > js tutoriel > le corps du texte

Comment déterminer la préparation au DOM sans frameworks ?

Patricia Arquette
Libérer: 2024-10-20 10:27:02
original
639 Les gens l'ont consulté

How to Determine DOM Readiness without Frameworks?

Comprendre l'état de préparation du DOM sans frameworks

Lors du développement d'applications Web, il est crucial de déterminer quand le modèle objet de document (DOM) est prêt à être manipulé. Alors que des frameworks comme jQuery offrent des auditeurs readyState, cet article explore des approches alternatives pour détecter la préparation au DOM.

Accès direct à l'état du DOM

Au lieu de vous fier aux frameworks, vous pouvez directement vérifiez la propriété readyState du document :

<code class="js">if (document.readyState === 'complete') {
  // DOM is ready
}</code>
Copier après la connexion

Cependant, cette approche n'est pas fiable sur tous les navigateurs, car certains peuvent ne pas fournir une valeur readyState précise.

Vérification de préparation du DOM basée sur les événements

Une approche plus multi-navigateurs consiste à écouter l'événement DOMContentLoaded, qui se déclenche lorsque le DOM est prêt à être manipulé :

<code class="js">function fireOnReady() {
  // ...
}
if (document.readyState === 'complete') {
  fireOnReady();
} else {
  document.addEventListener("DOMContentLoaded", fireOnReady);
}</code>
Copier après la connexion

Exploiter la propriété isReady non documentée de jQuery

Bien que non documenté, jQuery expose une propriété isReady qui indique en interne l'état prêt du DOM :

<code class="js">if ($.isReady) {
  // DOM is ready
} else {
  // DOM is not yet ready
}</code>
Copier après la connexion

Extrait léger de préparation du DOM

Inspiré par l'extrait de Dustin Diaz, vous pouvez créer un mini écouteur prêt pour le DOM comme suit :

<code class="js">if (!/in/.test(document.readyState)) {
  // Document is ready
} else {
  // Document is not ready
}</code>
Copier après la connexion

Cette vérification exploite le fait que la valeur readyState contient "in" dans les états de chargement antérieurs, ce qui en fait un indicateur fiable de Préparation du DOM.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal