Java Reference
In-Depth Information
9.2■Verschiedene Ereignisse
Die verfügbaren Ereignisse, auf die Sie unter JavaScript reagieren können, umfassen wie
gesagt alle Ereignisse, die wir schon bei den (X)HTML-Eventhandlern angerissen haben.
Dennoch müssen wir teilweise darauf eingehen, weil es ein paar Besonderheiten zu beach-
ten gibt.
9.2.1■Laden und Verlassen der Webseite
Die Reaktion auf das Laden und Verlassen der Webseite wird - wie bekannt - mit onload
und onunload ausgelöst. Allerdings sollte man aufpassen, bei welchem Objekt der JavaScript-
Eventhandler in der Regel notiert wird - beim window -Objekt:
Listing 9.3■ Einsatz von onload als JavaScript-Eventhandler bei der Objektrepräsentation der
Webseite
window.onload=Funktionsname
HInWEIS: Der Eventhandler kann theoretisch auch bei einigen anderen Ele-
menten wie Graiken verwendet werden. Das macht man in der Praxis aber so
gut wie gar nicht. Sie sollten sich auch davor hüten, den Eventhandler an
window.document zu hängen, wobei das eigentlich logischer wäre, denn nicht
das Fenster mit all seinen Bestandteilen wie der Adresszeile, der Statuszeile
oder der Historie wird geladen, sondern das enthaltene Dokument. Es erscheint
also folgerichtig, dass der Eventhandler an das Laden des Inhalts des Anzeige-
bereichs von dem Fenster zu koppeln ist. Wenn Sie das aber machen, wird es
nicht in allen Browsern (insbesondere älteren Versionen des Internet Explorers)
funktionieren.
Schutz des DOM-Baums
Worauf Sie achten müssen, ist, dass Sie onload nicht zu früh verwenden. Wie schon mehr-
fach im Buch erwähnt, sind Zugrife auf Bestandteile des DOM ein massives Problem, wenn
sie erfolgen, bevor der DOM vollständig aufgebaut ist. Diverse Frameworks im Umfeld von
JavaScript und des DOM unternehmen massive Anstrengungen, um diesen Problemen Herr
zu werden. Die meisten Dokumentationen der Frameworks weisen deutlich darauf hin, dass
sie von der Verwendung des onload -Eventhandlers abraten, weil dieser in einigen Brow-
sern (hauptsächlich alte Versionen des Internet Explorers) fehlerhat implementiert ist. Die
Probleme nehmen in neueren Browsern immer mehr ab, aber wenn Sie wirklich noch alte
Internet Explorer wie die Version 8 oder gar noch früher unterstützen müssen, sollten Sie
im Rahmen einer per onload aufgerufenen Funktion nicht auf Elemente des DOM zugrei-
fen. Der Aufruf einer Initialisierungsfunktion ganz am Ende der Webseite ist in den meisten
Browsern als Alternative zuverlässig. In jedem Fall testen Sie die Seite wirklich in allen
 
Search WWH ::




Custom Search