Einbau

Da JavaScript-Code normalerweise Bestandteil eines HTML-Dokuments ist (dieser kann allerdings auch in separate JS-Dateien ausgelagert werden; siehe unten), müssen auch Browser ohne (eingeschaltete) JavaScript-Funktion damit klarkommen. Dafür gibt es den NOSCRIPT-Befehl:

<NOSCRIPT>

Hier steht der Text für Browser, die kein JavaScript verstehen oder bei denen die Funktion ausgeschaltet ist.

</NOSCRIPT>

Allerdings gibt es so eine Art Grauzone. Ältere Browser, die zwar JavaScript verstehen und auch aktiviert haben, die aber leider den NOSCRIPT-Befehl nicht kennen, zeigen den Text ebenfalls an. Ich habe nicht herausfinden können, wie das vermieden werden kann.

Meistens wird der JavaScript-Code in einem eigenen Bereich der HTML-Datei abgelegt. Wenn das Script schon beim Öffnen des Dokuments aktiv werden soll, muß es naturgemäß am Anfang stehen. Häufig wird dafür der Kopfbereich zwischen <HEAD> und </HEAD> benutzt, meistens zwischen </TITLE> und </HEAD>:

<HTML> <HEAD> <TITLE> Hier den Titel eingeben </TITLE> <SCRIPT LANGUAGE=“JavaScript“> …weiterer JavaScript-Code… </SCRIPT> </HEAD> <BODY>

Wenn das Script nicht gleich beim Öffnen der Seite ausgeführt werden soll, wird der Code an entsprechender Stelle des BODY-Bereichs eingefügt. Es dürfen übrigens mehre Scripte in einem Dokument verwendet werden.

Eingeleitet wird ein Script mit dem Befehl <SCRIPT LANGUAGE=“JavaScript“>. Wird eine höheren JavaScript-Version benutzt, kann diese auch explizit angegeben werden. Also z.B. mit <SCRIPT LANGUAGE=“JavaScript 1.2″>. Dann folgen die eigentlichen JavaScript-Anweisungen. Mit </SCRIPT> wird ein Script-Bereich geschlossen.

Was passiert nun, wenn ein JavaScript-unkundiger Browser auf den <SCRIPT>– Befehl trifft? Zunächst einmal nichts, da er ihn nicht kennt. Der Befehl wird einfach ignoriert.

Das nächste, was der Browser zu Gesicht bekommt, sind die eigentlichen JavaScript-Anweisungen, z.B.

document.write(‚<B>‘);

heute=new Date();

document.write(‚Heute ist der ‚, heute.getDate(),‘.‘, heute.getMonth()+1,‘. !‘);

document.write(‚</B>‘);

Da das nicht von spitzen Klammern als Befehl ausgewiesen wird, ist es für den Browser ganz ordinärer Text. Sieht zwar ein bißchen komisch aus, denkt sich der Browser, aber das geht mich nix an. Halt! Da sind ja doch spitze Klammern mit bekannten Befehlen, undzwar die Anweisungen, um Fettschrift ein- und dann wieder auszuschalten. Unser folgsamer Browser gibt also folgenden Text aus:

document.write(‚‚);heute=new Date(); document.write(‚Heute ist der ‚, heute.getDate(),‘.‘, heute.getMonth()+1,‘. !‘); document.write(‚‚);

Da auch der Hinweistext im Code versteckt ist, weiß vermutlich kein User, was das soll. Auf jeden Fall ist es unschön.

Wie kann also verhindert werden, daß der unwissende Browser Befehlssequenzen von JavaScript als normalen Text anzeigt? Ganz einfach: Man gaukelt ihm einen Kommentar vor. Und Kommentare werden vom Browser nicht dargestellt, sondern fristen im Quellcode ihr unbeachtetes Dasein. JavaScript-kundige Browser dagegen werden durch <SCRIPT> hellwach und wissen: Gleich gibt’s Arbeit. Sie ignorieren die Kommentaranweisungen und führen das Script aus.

Der komplette Code lautet also:

<SCRIPT LANGUAGE=“JavaScript“>

<!–

document.write(‚<B>‘);

heute=new Date();

document.write(‚Heute ist der ‚, heute.getDate(),‘.‘, heute.getMonth()+1,‘. !‘);

document.write(‚</B>‘);

//–>

</SCRIPT>

Und das bewirkt Tag für Tag die Ausgabe des aktuellen Datums: Undzwar an der Stelle, wo er im Quellcode der HTML-Datei eingegeben wurde.

Wenn das aktuelle Datum hier nicht ausgegeben wird, dann ist entweder die JavaScript-Funktion in Ihrem Browser deaktiviert oder diesem unbekannt.

Sie können JavaScript-Code aber auch in externe Dateien auslagern. Und das funktioniert mit unserem Beispiel so:

Legen Sie mit dem Texteditor eine neue Datei an und schreiben dort diesen Code hinein

<!–

document.write(‚<B>‘);

heute=new Date();

document.write(‚Heute ist der ‚, heute.getDate(),‘.‘, heute.getMonth()+1,‘. !‘);

document.write(‚</B>‘);

//–>

Die SCRIPT-Tags werden dort nicht notiert. Die Datei wird dann mit der Endung js (statt txt) abgespeichert. Auf diese Datei kann jetzt in jedem HTML-Dokument zugegriffen werden. Dazu ist lediglich an entsprechender Stelle folgender Code einzubauen:

<SCRIPT TYPE=“text/javascript“ SRC=“dateiname.js“></SCRIPT>

Wenn das aktuelle Datum hier nicht ausgegeben wird, dann ist entweder die JavaScript-Funktion in Ihrem Browser deaktiviert oder diesem unbekannt.