JavaScript onLoad Event

Das JavaScript Event onLoad wird direkt nach dem Laden einer HTML-Datei ausgelöst. Anders als das onClick ist das Event onLoad ausschießlich bei den HTML-Tags BODY und FRAMESET erlaubt. Es kann beispielsweise dazu genutzt werden, per JavaScript erzeugte Elemente zu erzeugen oder zustandsgesteuerte Client-Seitige Scriptbereiche zu initialisieren. Ein Event-Handler für das onLoad Event kann nur direkt im HTML-Code über das entsprechende Tag-Attribut definiert werden. Da das Event direkt nach dem Laden der HTML-Seite, und damit vor der Ausführung anderer Scriptbereiche, ausgelöst wird ist das nachträgliche aktivieren eines Event-Handlers – beispielsweise über einen Aufruf der Form document.getElementsByTagName ('body')[0].onclick = handlerfunktion; – nicht mehr möglich.

JavaScript onLoad Beispiel

Nachfolgend finden Sie ein Beispiel zur Verwendung des onLoad-Events. Dabei wird eine komplette HTML-Datei definiert, die im BODY-Tag mit dem Attribut onload sofort den auszuführenden Event-Handler festlegt. Danach folgt die Definition eines SPAN-Tags mit der ID "status", welches der Ausgabe von Statusmeldungen dienen soll.

Im anschliessenden Script-Bereich werden zwei Funktionen definiert. Aufgabe der ersten Funktion, welches zugleich die Event-Handler-Funktion darstellt, ist es, die Textfarbe zu ändern und den zeitverzögerten Aufruf der weiter unten definierten Funktion einzuleiten. Dazu wird das Objekt Document, genauer gesagt die dem Objekt zugehörige Methode document.getElementById(), verwendet um das Element zu selektieren. Über den so ermittelten Objekt-Verweis wird dann die Schriftfarbe des Elements auf rot geändert. Am Ende der Funktion wird mit Hilfe der Methode window.setTimeout(), einer Methode des Window-Objekts, der zeitverzögerte Aufruf der Funktion statusAendern eingeleitet.

Die Funktion statusAendern ändert den Text im HTML-Element mit der ID "status" und passt mit Hilfe des vordefinierten JavaScript-Objekts Style die Schriftfarbe an. Auch hier wird das Element wieder über seine ID ermittelt. Eine Demonstration des unten stehenden Scripts können Sie sich auf der Seite onLoad Event Demo anschauen.

<html>
  <!-- onLoad-Event mit einer Event-Handler-Funktion belegen -->
  <body onload="starten()">
    <!-- Definition eines Statusfeldes, welches der Ausgabe des derzeitigen Status dient -->
    <span id="status">bitte warten...</span>  
    <script language="javascript" type="text/javascript">
    <!-- // JavaScript-Bereich für ältere Browser auskommentieren
    // Die Funktion starten wird direkt nach dem Laden des HTML-Dokuments aufgerufen.
    // Sie setzt die Schriftfarbe des Statuselements auf rot und startet
    // die Funktion statusAendern mit einer zeitlichen Verzögerung von 3 Sekunden.
    function starten () {
      // Schriftfarbe per Style-Objekt auf rot setzen...
      document.getElementById ('status').style.color = 'red';
      // und nach drei Sekunden die Funktion statusAendern starten.
      window.setTimeout ('statusAendern ()', 3 * 1000);
    }

    // Die nächste Funktion weist dem Inhalt des Statuselements die
    // Zeichenkette fertig zu und ändert die Schriftfarbe des Elements
    // auf grün.
    function statusAendern () {
      // Text im Status-Element auf fertig ändern...
      document.getElementById ('status').firstChild.data = 'Fertig!';
      // und danach die Schriftfarbe dieses Elements auf grün
      // setzen.
      document.getElementById ('status').style.color = 'green';
    }
    // -->
    </script>
  </body>
</html>


¬ Insolvenzrecht