Heim  >  Artikel  >  Web-Frontend  >  Wann ist das DOM in JavaScript bereit?

Wann ist das DOM in JavaScript bereit?

DDD
DDDOriginal
2024-10-20 12:59:02707Durchsuche

When Is the DOM Ready in JavaScript?

DOM-Bereitschaft in JavaScript verstehen

Bei der Arbeit mit dynamischen Webseiten ist das Verständnis der DOM-Bereitschaft entscheidend, um Aufgaben zum richtigen Zeitpunkt auszuführen. Während Frameworks wie Prototype und jQuery praktische Mechanismen zum Anhängen von Funktionen an das window.onload-Ereignis bieten, gibt es Situationen, in denen ein direkterer Ansatz wünschenswert ist.

Abfragen der DOM-Bereitschaft

Wenn Sie nach einer Alternative zur Verwendung von Frameworks suchen, können Sie einige Methoden ausprobieren:

1. Die undokumentierte „isReady“-Eigenschaft von jQuery:

Obwohl jQuery nicht dokumentiert ist, verwaltet es eine interne Eigenschaft namens isReady. Wenn darauf zugegriffen werden kann, zeigt es an, ob das DOM-Ready-Ereignis ausgelöst wurde:

<code class="javascript">if ($.isReady) {
  // DOM is ready
} else {
  // DOM is not yet ready
}</code>

Obwohl dieser Ansatz über mehrere jQuery-Versionen hinweg stabil war, bleibt er undokumentiert und sollte mit Vorsicht verwendet werden.

2. Document ReadyState:

Das Dokumentobjekt bietet eine readyState-Eigenschaft, die den Ladestatus der Seite widerspiegelt:

<code class="javascript">if (document.readyState === 'complete') {
  // DOM is ready
} else {
  document.addEventListener("DOMContentLoaded", fireOnReady);
}</code>

Indem Sie auf das DOMContentLoaded-Ereignis warten, können Sie Code ausführen, wenn das Seite ist vollständig geladen.

3. Benutzerdefinierte DOM-Ready-Prüfung:

Für Szenarien, in denen die Browserkompatibilität von größter Bedeutung ist, können Sie eine benutzerdefinierte DOM-Ready-Prüfung erstellen, die vom Snippet von Dustin Diaz inspiriert ist:

<code class="javascript">if (!/in/.test(document.readyState)) {
  // document is ready
} else {
  // document is NOT ready
}</code>

Dieser Ansatz nutzt diese Tatsache dass die Ladezustände „loading“ und „interactive“ in ihrer readyState-Eigenschaft den String „in“ enthalten. Wenn also „in“ im readyState gefunden wird, ist das Dokument noch nicht fertig.

Das obige ist der detaillierte Inhalt vonWann ist das DOM in JavaScript bereit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn