Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich die DOM-Bereitschaft bestimmen, ohne auf Frameworks angewiesen zu sein?

Wie kann ich die DOM-Bereitschaft bestimmen, ohne auf Frameworks angewiesen zu sein?

Susan Sarandon
Susan SarandonOriginal
2024-10-20 11:52:02466Durchsuche

How Can I Determine DOM Readiness Without Relying on Frameworks?

Document.isReady: Eine native Lösung für die DOM-Ready-Erkennung

Abhängigkeit von Frameworks wie Prototype und jQuery für die Verwaltung von window.onload-Ereignissen möglicherweise nicht immer begehrenswert sein. In diesem Artikel werden alternative Methoden zur Bestimmung der DOM-Bereitschaft untersucht, insbesondere durch die Verwendung von document.isReady.

Abfragen von Document.isReady

Für moderne Browser mit stabilen Ereignis-APIs ist die Das DOMContentLoaded-Ereignis bietet eine robuste Methode zur Behandlung von DOM-Ready-Ereignissen. Implementierungen wie die folgenden bieten eine einfache und effiziente Lösung:

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

jQuerys $.isReady-Eigenschaft

jQuery bietet eine undokumentierte Eigenschaft, $.isReady, die die widerspiegelt Interner DOM-Bereitschaftsstatus. Die Verwendung dieser Eigenschaft ermöglicht präzise Überprüfungen:

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

Es ist wichtig zu beachten, dass diese Eigenschaft weiterhin undokumentiert ist und ihre Verfügbarkeit in zukünftigen jQuery-Versionen nicht garantiert werden kann. Verwenden Sie es mit Vorsicht und seien Sie auf mögliche Änderungen bei Upgrades vorbereitet.

Ein benutzerdefiniertes DOM-Ready-Snippet

Für eine breitere Browserkompatibilität kann ein benutzerdefiniertes DOM-Ready-Snippet verwendet werden. Inspiriert durch den Ansatz von Dustin Diaz überprüft es den document.readyState mithilfe eines regulären Ausdrucks:

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

Diese Methode basiert auf der Tatsache, dass der „in“-Teilstring in „loading“ und „interactive“ bereit ist Zustände, aber nicht im „vollständigen“ Zustand.

Das obige ist der detaillierte Inhalt vonWie kann ich die DOM-Bereitschaft bestimmen, ohne auf Frameworks angewiesen zu sein?. 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