Syntax | <SCRIPT>...</SCRIPT> |
---|---|
Attribut-Spezifikationen |
|
Inhalte | Eine eigebettetes Script |
Beinhaltet in | HEAD, Block-Level Elemente, Inline Elemente außer SELECT und SCRIPT |
Das SCRIPT-Element beinhaltet ein Client-seitiges Script im Dokument. Client-seitige Scripts ermöglichen eine größere Interaktivität im Dokument durch das Reagieren auf User-Events. Zum Beispiel könnte ein Script verwendet werden um die Eingabe in ein Formular vom User vor der Versendung zu überprüfen, um eine sofortige Meldung über die Fehler des Users auszugeben.
Nehmen Sie zur Kenntnis, dass nicht alle Browser Client-seitiges Scripting unterstützen, und dass unterstützende Browser es zulassen die Scriping-Funktion zu deaktivieren. Im Besonderen ist meistens das Scripting in Browsern von Mobiltelefonen aus Leistungsgründen deaktiviert. Autoren sollten deshalb eine Abhängigkeit vom Client-seitigen Scripting vermeiden wo auch immer es möglich ist. Das NOSCRIPT-Element kann verwendet werden um auch Browsern, die Client-seitiges Scripting nicht unterstützen oder es deaktiviert haben, Inhalte anzubieten. Im Falle der Formularüberprüfung sollte jede Fehlerprüfung durch ein Client-seitiges Script auch Server-seitig wiederholt werden.
Nehmen Sie ebenfalls zur Kenntnis, dass verschiedene Browser unterschiedliche Varianten der Scripting Sprachen mit verschiedenen Fehlern unterstützen. Autoren sollten ihre Scripts in so vielen Browsern wie möglich überprüfen.
Das notwendige TYPE-Attribut von SCRIPT spezifiziert den Media-Typ der Scripting Sprache, z.B., text/javascript. Wie auch immer, viele Browser unterstützen nur das deprecated LANGUAGE-Attribut, welches den Name der Sprache festlegt. Beispiele von unterstützten LANGUAGE-Werten enthalten JavaScript, JavaScript1.1 und VBScript. Die Werte sind nicht case sensitive.
Browser ignorieren Scripts mit LANGUAGE-Werten, die sie nicht unterstützen. Zum Beispiel, Netscape 3.0 führt Scripts mit LANGUAGE="JavaScript" oder LANGUAGE="JavaScript1.1", jedoch ignoriert er LANGUAGE="JavaScript1.2" oder LANGUAGE="VBScript".
Fehlt das LANGUAGE-Attribut, nehmen Browser, die das TYPE-Attribut nicht unterstützen, normalerweise an, dass die Sprache die vom Browser höchst unterstützte Version von JavaScript ist. Auf diese Weise können die Autoren das deprecated LANGUAGE-Attribut weglassen, wenn sie JavaScript verwenden.
Ein eingebettetes Scipt wird durch den Inhalte des SCRIPT-Elements angegeben. Das SRC-Attribut erlaubt den Autoren Code erneut zu verwenden, indem ein externes Script angegeben wird. Das optionale CHARSET-Attribut gibt die Zeichenverschlüsselung des externen Scripts an, jedoch wird dieses Attribut kaum gebraucht. Wenn das SRC-Attribut verwendet wird, wird das eingebettete Script ignoriert. Ein Beispiel:
<SCRIPT TYPE="text/javascript" SRC="foo.js">
<!-- // embedded script ignored // -->
</SCRIPT>
Für den Netscape 4.x ist es notwendig, dass externe Scripts mit Content-Type application/x-javascript angeboten werden.
Das DEFER-Attribut führt dazu, dass der Browser mit der Ausführung des Scripts bis zum vollständigen Laden des Dokuments wartet. Scripts, die DEFER verwenden, dürfen keinen Dokumentinhalt erzeugen und sollten nicht benötigt werden um auf User-Events zu reagieren (z.B., bei Formularversendung), die auftreten könne während das Dokument lädt. Das DEFER-Attribut kann nützlich für Verzögerungsscripts sein, die Bilder vorladen oder den User mit Lauftext-Nachrichten in der Statuszeile belästigen.
Das SCRIPT-Element kann beliebig oft im Dokument-HEAD oder -BODY auftreten. Typischerweise wird das SCRIPT-Element im HEAD verwendet, es sei denn es generiert Inhalt für den BODY.
Pre-HTML 3.2 Browser, die das SCRIPT-Element nicht kennen, behandeln den Inhalt von SCRIPT wie normales HTML. Damit diese Browser den Inhalt des SCRIPT ignorieren, erlauben die Scripting Sprachen generell SGML-Kommentare die um ein eingebettetes Script herum platziert werden. Zum Beispiel:
<SCRIPT TYPE="text/javascript">
<!-- comment to end of line document.write("foo"); // comment to end of line -->
</SCRIPT>
Nehmen Sie zur Kenntnis, dass "-->" in einem einzeiligen JavaScript-Kommentar enthalten ist (beginnend mit zwei Slashes).
Aufgrund einer Eigenart von SGML werden End-Tags innerhalb von SCRIPT-Elementen erkannt, andere Arten --wie Start-Tags und Kommentare--nicht. Fast alle Browser ignorieren diese Regel, jedoch sollten Autoren nichtsdestoweniger es vermeiden Strings wie "</P>" in ihren eingebetteten Scripts zu verwenden. JavaScript erlaubt es Autoren einen Backslash im String zu verwenden, um es davor zu bewahren als End-Tag behandelt zu werden, z.B., document.write("<\/P>").