2006-07-12 DomLoaded - Wissen wann das DOM verfügbar ist - Crossbrowser!
Dean Edwards hat zusammen mit Matthias Miller den letzten Baustein zu der Lösung für das Problem gefunden, wie man Crossbrowser abfragen kann ob das DOM verfügbar ist.
Schon immer war es sehr unbefriedigend auf den window.onload Event zu warten da dieser erst ausgeführt wird wenn das gesamte Dokument inklusive aller Assets wie Bilder, SWFs oder Filmen geladen ist. Schon fast genauso lange gab es die verschiedensten Anzätze dieses Problem zu umgehen. Ich selbst habe zu diesem Zweck immer folgenden Aufruf als letzte Zeile vor den </body> Tag eingebunden:
<script type="text/javascript">
//<![CDATA[
htmlLoaded();
//]]>
</script>
Obwohl ich Inline-Javascript sonst meide wie der Teufel das Weihwasser war das die einzige Lösung die es ermöglichte den gewünschten Event wirklich Crossbrowser auszulösen.
Deans Lösung, die er in seine Bibiothek jQuery eingebaut hat, schafft es nun eine ganze Reihe von Einzellösungen und Workarounds unter einem einheitlichen Interface zusammenzufassen.
Dan Webb von "The Web's Bollocks" hat diese Lösung für die großartige Prototype-Bibliothek adaptiert die dort einfach als neuer Event.onDOMReady zur Verfügung steht.
Rob Cherny hat das Script ebenfalls verwendet und eine Standalone-Lösung mit eigenem Namespace (DomLoaded.load) daraus entwickelt, sodaß der Event nun auch Entwicklern zur Verfügung steht die weder auf jQuery noch auf Prototype zurückgreifen möchten.
english
