Java Reference
In-Depth Information
}
};
}
};
function catchMeldung(e) {
document.getElementById("ausgabe").innerHTML += "Typ: " +
(typeof e) + ", Meldung: " + e + "<br/>";
}
In den Callbacks werfen wir direkt Ausnahmen unterschiedlicher Datentypen und fangen
sie wieder auf, was in der Praxis so natürlich nicht sinnvoll ist und immer mit einer gewis-
sen Logik gekoppelt sein sollte. Aber dieses Beispiel macht die Anwendungsmöglichkeiten
deutlich.
 Bild 9.6■
Sie erkennen an der Ausgabe, dass jeder
Datentyp als Ausnahme geworfen wer-
den kann.
9.5■ universelle Ereignisbehandlung
mit Ausnahmebehandlung
Verknüpfen wir nun die beiden Themen aus dem Kapitel und bauen damit eine universelle
Ereignisbehandlung, die beide konkurrierende Ereignismodelle unterstützen soll. Das soll-
ten Sie nicht mit einer konventionellen Browserweiche machen, denn die Browserkennung
kann verändert werden. Zudem verändern Browser über ihre verschiedenen Versionen
gelegentlich die Unterstützung für das eine oder andere Ereignismodell, was viel schwerer
wiegt. Besser ist es in diesem Fall, unter Verwendung von Ausnahmebehandlung eine uni-
verselle Reaktion zu gewährleisten. Das setzt allerdings natürlich voraus, dass ein Browser
auch mit Ausnahmebehandlung zurechtkommt. Wenn dies nicht der Fall ist, handelt es sich
aber um einen sehr alten Browser, der mit diversen modernen Webtechniken nicht umge-
hen kann und sowieso vorher in ein statisches Einfachprojekt abgeleitet werden sollte.
Betrachten Sie nachfolgende Schablone:
Listing 9.16■ Eine universell sichergestellte Ereignisbehandlung
<script type="text/javascript">
function initReaktion() {
try {
if(event)
// Registrierung von Reaktionsfunktionen nach altem Microsoft-Ereignismodell
} catch(e) {
// Registrierung von Reaktionsfunktionen nach Netscape-Ereignismodell
}
Search WWH ::




Custom Search