JavaScript – M+T Pocket . Das Programmier-Handbuch (Office Einzeltitel) [Taschenbuch]

5.3
JavaScript-Anweisungen direkt in eine HTML-Anweisung schreiben

Der Aufruf einer JavaScript-Anweisung kann direkt in eine HTML-Referenz geschrieben werden. Dies ist die so
genannte Inline-Referenz, die es auch bei Style-Sheets gibt. Dieses System hat
aber einige erhebliche Nachteile. Der wichtigste ist wohl, dass es nicht bei
allen Browsern funktioniert. Außerdem ist es nicht gut lesbar (besonders bei
mehreren Anweisungen, deshalb wird die Technik so gut wie ausschließlich zum
Aufruf einer Anweisung oder Funktion verwendet) und weitgehend auf die Tags <A> und <AREA>
eingeschränkt. Das heißt, es wird JavaScript-Code statt einer URL als
Verweisziel definiert, indem dem Attribut href in Anführungszeichen eine oder
mehrere JavaScript-Anweisungen zugewiesen werden. Dazu müssen Sie in einer
entsprechenden HTML-Anweisung das Schlüsselwort javascript, gefolgt von einem
Doppelpunkt, als Attribut angeben. Die Syntax sieht also so aus:

<A href="javascript:[JavaScript-Anweisung]">

Im folgenden Beispiel wird über einen Hyperlink eine
Standardmethode von JavaScript aufgerufen, die wir bereits genutzt haben. Mit alert() wird ein
kleines Dialogfenster aufgeblendet, in dem der als Parameter angegebenen Text
angezeigt wird.

<HTML>

<BODY>

<h1>Klicken Sie auf den Hyperlink</h1>

<a
href="javascript:alert(‚Hello World‘)">

Klickklack</a>

</BODY>

</HTML>

Listing 5.7: Auf Klick wird die Standardmethode aufgerufen

Beachten Sie, dass Sie für den Fall, wo Sie Hochkommata
innerhalb einer in Anführungszeichen eingeschlossenen Zeichenkette brauchen,
nicht die normalen Hochkommata verwenden dürfen! Statt dessen können Sie das
Zeichen ‚ verwenden. Es entsteht also eine
Verschachtelung mit zwei verschiedenen Zeichen. Etwa wie in dem Beispiel eben
("javascript:alert(‚Hello World‘)").
Die Verschachtelung gilt auch umgekehrt (‚javascript:alert("Hello World")‘).

Mit einer Inline-Referenz kann man natürlich auch
selbstdefinierte Funktionen aufrufen. Verbinden wir das mit einer in einem <SCRIPT>-Container
geschriebenen Funktion in einem weiteren Beispiel. Dabei wird wieder der
Zufallsgenerator von eben zum Einsatz kommen. Ansonsten ist zu bemerken, dass
eine JavaScript-Entscheidungsstruktur zu Einsatz kommt. Die if-Kontrollstruktur.
Je nach Wert der Zufallsvariable wird eine von zwei Möglichkeiten ausgewählt.
Wer sich mit Programmierung im weitesten Sinn bereits auskennt, wird diese
Struktur kennen. Nach der ersten – immer zufällig ausgewählten – Meldung
erhalten Sie ein weiteres Mitteilungsfenster mit dem Aufruf zu einem neuen
Spiel.

<HTML>

<script language="JavaScript">

<!–

function spielen() {

var karte = Math.round(Math.random()*2);

if(karte<1) alert(

"Ich bin mir sicher – die Farbe ist rot!")

else alert("Moment – ich lese Ihre Gedanken. Ja –
es muss schwarz sein!!");

alert("Das macht Spass. Komm, wir spielen
nochmal. Klick einfach auf den Hyperlink");

}

//–>

</script>

<BODY>

<center><h1>Wollen wir spielen?</h1>

Sie nehmen ein Kartenspiel und ziehen eine Karte. Ich
rate, welche Farbe die Karte hat.</center>

<a href="javascript:spielen()">Spiel
starten</a>

</BODY>

</HTML>

Listing 5.8: Inline-Aufruf einer
selbstgeschriebenen Funktion

Klicken Sie bei dem Beispiel einfach auf den Hyperlink. Der
Computer liest Ihre Gedanken und errät die Farbe der Karte[11].

Dann fordert er Sie zum neuen Spiel auf.