<SCRIPT> | NN 2 IE 3 HTML 4
<SCRIPT>...</SCRIPT> | HTML-End-Tag: Erforderlich
Das Element script fungiert als Container für Skriptcode-Zeilen. Dieser Skriptcode kann in einer beliebigen vom Browser unterstützten Skriptsprache geschrieben sein. Skriptanweisungen, die sich nicht innerhalb einer Funktionsdefinition befinden, werden beim Laden der Seite ausgeführt. Funktionsdefinitionen werden zwar geladen, jedoch erst dann ausgeführt, wenn sie explizit vom Benutzer oder von einer Systemaktion (einem Ereignis) aufgerufen werden. Ein Dokument kann mehrere script-Elemente enthalten. Es ist sogar möglich, script-Elemente, die in unterschiedlichen Skriptsprachen geschrieben wurden, in dasselbe Dokument aufzunehmen. Bisher wurde für alle skriptfähigen Browser das Attribut language verwendet, um die Skriptsprache der Anweisungen innerhalb eines script-Elements anzugeben. Das hat sich in HTML 4 geändert. In HTML 4 wird dem Attribut type, dessen Wert ein MIME-Typ ist, Vorrang von dem Attribut language eingeräumt. Bis Sie sicher sein können, dass alle Besucher Ihrer Site nur neuere Browser verwenden, die das Attribut type unterstützen, sollten Sie beide Attribute angeben, um auch längerfristig die Kompatibilität mit älteren Browsern zu gewährleisten. Das Attribut language wird bei Transitional DTDs validiert. Bei nahezu allen skriptfähigen Browsern können Skriptanweisungen auch in das Dokument importiert werden, und zwar aus einem Dokument, dessen URL im Attribut src angegeben ist. Ältere Browser ohne Skriptfunktionalität erkennen das Element script nicht und versuchen in manchen Fällen, die Skriptanweisungen als regulären HTML-Inhalt darzustellen. Sie können dies verhindern, indem Sie die Skriptanweisungen in HTML-Kommentarmarkierungen einschließen. Der Markierung für das Kommentarende (-->) muss eine JavaScript-Kommentarmarkierung (//) vorangestellt werden, da JavaScript sonst einen Skriptfehler generiert. Aufgrund von Zeichenkonflikten zwischen JavaScript und XHTML und mangelnder Unterstützung für den in XHTML bevorzugten Skript-Wrapper <![CDATA[...]]> sollten Sie für Seiten, die unter XHTML validiert werden müssen, importierte Skriptbibliotheken verwenden. Dadurch wird verhindert, dass XML-Parser Symbole wie den Kleiner-als-Operator (<) fälschlicherweise als XML-Markup-Symbole interpretieren.
Beispiel
    <SCRIPT type="text/javascript" language="JavaScript">
    <!--
    FUNCTION howdy( ) {
        alert("Hello, HTML world!");
    }
    //-->
    </SCRIPT>

    <SCRIPT type="text/javascript" scr="scripts/myscript.js"></SCRIPT>
Elementspezifische Attribute
charset | defer | event | for | language
src | type | version | xml:space |
Elementspezifische Ereignisbehandlungsroutinenattribute
Keine.

charset | NN 6 IE nicht zutreffend HTML 4
charset="characterSet" | Optional
Definiert die Zeichenkodierung des Inhalts der Datei, die im Attribut src angegeben ist.
Beispiel
    <SCRIPT charset="csISO5427Cyrillic" src="moscow.js"> . . . </SCRIPT>
Wert
Alias (Groß-/Kleinschreibung unwichtig) aus dem Zeichensatzregister (ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets).
Standardwert
Wird vom Browser bestimmt.

defer | NN 6 IE 4 HTML 4
defer | Optional
Das Attribut defer weist den Browser an, regulären HTML-Inhalt darzustellen, ohne beim Laden der Seite das Skript zum Generieren von Inhalt zu suchen. Dieses Attribut dient nur zu Informationszwecken. Der Browser muss nicht aufhören, weiteren HTML-Inhalt darzustellen, während der Inhalt des Elements script nach document.write( )-Anweisungen durchsucht wird. Netscape 7 lässt das Attribut defer zwar zu, spricht aber nicht darauf an.
Beispiel
    <SCRIPT type="text/javascript" language="JavaScript" defer>...</SCRIPT>
Wert
Ist dieses Attribut vorhanden, wird sein Wert auf true gesetzt.
Standardwert
false
Objektmodellreferenz
    [window.]document.getElementById(elementID).defer

event | NN nicht zutreffend IE 4 HTML |4|
event="eventName" | Optional
Das Ereignismodell im Internet Explorer ermöglicht die Bindung von Objektereignissen an script-Elemente, und zwar mithilfe der Attribute event und for. Beim Laden der Seite registriert der Browser die einzelnen script-Elemente zusammen mit den zugehörigen Ereignis- und Objektbindungen, sodass die Skriptanweisungen innerhalb des script-Elements ausgeführt werden, wenn das Objekt das Ereignis generiert. Dabei ist es nicht erforderlich, Ereignisbehandlungsroutinen für die Objekte zu schreiben oder die Skriptanweisungen in Funktionsdefinitionen einzuschließen. Ereigniswerte werden entweder in Form von Ereignisnamen ohne Anführungszeichen geschrieben oder in Form von Ereignisnamen mit Anführungszeichen, die als Funktion formatiert sind (mit nachgestellten Klammern und optionalen Parameternamen). Diese Art der Skript-/Ereignisbindung kann nur in Internet Explorer eingesetzt werden. Navigator versucht, die Skriptanweisungen beim Laden der Seite auszuführen. In der Transitional HTML 4 DTD (aber nicht in XHTML 1.0) ist dieses Attribut für mögliche spätere Zwecke reserviert.
Beispiel
    <SCRIPT for="window" event="onresize( )">...</SCRIPT>
Wert
Ereignisname (Groß-/Kleinschreibung beachten) oder Ereignisname als Funktion in Anführungszeichen. Das im Attribut for beschriebene Objekt muss das im Attribut event angegebene Ereignis unterstützen.
Standardwert
Keiner.
Objektmodellreferenz
    [window.]document.getElementById(elementID).event

for | NN nicht zutreffend IE 4 HTML |4|
for="elementID" | Optional
Das Ereignismodell im Internet Explorer ermöglicht die Bindung von Objektereignissen an script-Elemente, und zwar mithilfe der Attribute event und for. Beim Laden der Seite registriert der Browser die einzelnen script-Elemente zusammen mit den zugehörigen Ereignis- und Objektbindungen, sodass die Skriptanweisungen innerhalb des script-Elements ausgeführt werden, wenn das Objekt das Ereignis generiert. Dabei ist es nicht erforderlich, Ereignisbehandlungsroutinen für die Objekte zu schreiben oder die Skriptanweisungen in Funktionsdefinitionen einzuschließen. Verwenden Sie den eindeutigen Attributwert id des Elements mit dem gewünschten Ereignis. Diese Art der Skript-/Ereignisbindung kann nur in Internet Explorer eingesetzt werden. Navigator versucht, die Skriptanweisungen beim Laden der Seite auszuführen. In der Transitional HTML 4 DTD (aber nicht in XHTML 1.0) ist dieses Attribut für mögliche spätere Zwecke reserviert.
Beispiel
    <SCRIPT for="firstNameEntry" event="onchange( )">...</SCRIPT>
Wert
ID-Wert des Elements, das das Ereignis generiert (Groß-/Kleinschreibung beachten). Das im Attribut for beschriebene Objekt muss das im Attribut event angegebene Ereignis unterstützen.
Standardwert
Keiner.
Objektmodellreferenz
    [window.]document.getElementById(elementID).htmlFor

language | NN 2 IE 3 HTML 4
language="scriptingLanguage" | Optional
Legt die Skriptsprache für die im Element definierten Skriptanweisungen fest. Dieses Attribut wird in HTML 4 zwar nicht mehr empfohlen (stattdessen wird dem Attribut type Vorrang eingeräumt), doch da es seit den ersten skriptfähigen Browsern weit verbreitet ist, dürfte es auch in Zukunft noch lange unterstützt und verwendet werden. Darüber hinaus ist language bisher die einzige akzeptierte Möglichkeit, die JavaScript-Version des Skriptblocks darzustellen (siehe Array-Objekt in Kapitel 12).
Beispiel
    <SCRIPT language="JavaScript">...</SCRIPT>
Wert
Internet Explorer erkennt vier Sprachnamen (Groß- und Kleinschreibung unwichtig): JavaScript | JScript | vbs | vbscript. Navigator erkennt nur JavaScript. JavaScript-Versionen werden auch in entsprechenden Browsern unterstützt. Die Versionsnummern werden an den Sprachnamen "JavaScript" angehängt, sodass Bezeichner für Attributwerte stets aus einem Wort bestehen. "JavaScript" ohne Versionsangabe wird von allen Browsern erkannt, "JavaScript1.1" nur von Navigator 3, "JavaScript1.2" von Navigator 4.0-4.05 und Internet Explorer 4, "JavaScript1.3" von Navigator 4.06-4.7x und IE 5-6 und "JavaScript1.5" von Netscape 6-7. Wenn diese neueren Versionswerte den script-Elementen zugewiesen werden und ältere Browser die jeweilige Version nicht unterstützen, werden die script-Elemente von diesen Browsern ignoriert.
Standardwert
JavaScript (NN); JScript (IE).
Objektmodellreferenz
    [window.]document.getElementById(elementID).language

src | NN 3 IE 4 HTML 4
src="URL" | Optional
Importiert Skriptanweisungen aus einer externen Datei. Nachdem die externen Skriptanweisungen geladen wurden, verarbeitet der Browser sie so, als seien sie in das HTML-Hauptdokument eingebettet. Dieses Attribut wird in Internet Explorer 3 zwar teilweise unterstützt, erfordert jedoch eine bestimmte Version der Datei JScript.dll und kann daher ohne Beachtung dieser Einschränkung in IE 3 nicht zuverlässig eingesetzt werden. Theoretisch ist es möglich, Skriptanweisungen in ein script-Element aufzunehmen, das eine externe Skriptbibliotheksdatei lädt. In der Praxis erweist es sich jedoch als zuverlässiger, für jede externe Bibliotheksdatei und für im Dokument enthaltene Skripte separate script-Elemente anzugeben. Bei aktuellen Implementierungen kann das Attribut Src nur auf externe JavaScript-Dateien verweisen. Diese Dateien müssen die Erweiterung .js haben. Weiterhin muss auf dem Server die Erweiterung und der MIME-Typ application/x-javascript eingestellt sein, damit diese Dateien verarbeitet werden können. Wenn Sie das Attribut src in einem XHTML-Dokument verwenden, sollten Sie bedenken, dass Browser das Kurzformat für das End-Tag nicht mögen. Stellen Sie sich das Tag nicht als leeres Element vor, sondern als Tag mit Inhalt, der aus einer externen Quelle abgerufen wird. Verwenden Sie deshalb ein explizites End-Tag (</SCRIPT>).
Beispiel
    <SCRIPT language="JavaScript" type="text/javascript" src="stringParseLib.js">
    </SCRIPT>
Wert
Eine gültige URL. Bei aktuellen Browsern sind Dateien mit der Erweiterung .js erforderlich. Durch die Angabe vollständiger URLs können in früheren Browsern mit dieser Funktionalität eventuell Schwierigkeiten vermieden werden.
Standardwert
Keiner.
Objektmodellreferenz
    [window.]document.getElementById(elementID).src

type | NN 6 IE 4 HTML 4
type="MIMEType" | Erforderlich
Enthält Informationen über die Art des Inhalts in den Skriptanweisungen. Der Inhaltstyp weist den Browser an, welche Skriptengine zur Interpretation der Skriptanweisungen verwendet werden muss. Zukünftig wird das Attribut type anstelle des Attributs language verwendet, um die Skriptsprache der Anweisungen im Element zu definieren. Sie können sowohl das Attribut language als auch type in einem script-Element angeben, um die Kompatibilität mit älteren und zukünftigen Browsern zu gewährleisten.
Beispiel
    <SCRIPT type="text/javascript" language="JavaScript">...</SCRIPT>
Wert
MIME-Typ, bei dem es nicht auf die Groß-/Kleinschreibung ankommt. Es sind nur die Werte zulässig, die von einem bestimmten Browser unterstützt werden. IE 4 und später sowie Netscape 6 akzeptieren text/javascript und application/x-javascript für Skripts in einer ECMAScript-kompatiblen Sprache. IE akzeptiert außerdem die folgenden Typen: text/ecmascript, text/jscript, text/vbs (IE/Windows), text/vbscript (IE/Windows) und text/xml (IE 5 und später).
Standardwert
Keiner.
Objektmodellreferenz
    [window.]document.getElementById(elementID).type

version | NN nicht zutreffend IE nicht zutreffend HTML nicht zutreffend
version="x.y" | Optional
Dieses Attribut wird hier als mögliche zukünftige Implementierung für Mozilla-basierte Browser aufgeführt. Die meisten Komponenten, die dieses Attribut unterstützen (als Ergänzung zum Attribut type) sind in der Netscape 6- (Mozilla-) Browserengine bereits vorhanden, aber in Netscape 7 noch nicht aktiviert.
Beispiel
    <SCRIPT type="text/javascript" version="1.5">...</SCRIPT>
Wert
Version der jeweiligen Sprache, bestehend aus zwei durch einen Punkt getrennten Integerwerten für die Haupt- und Unterversion.

xml:space | NN nicht zutreffend IE nicht zutreffend HTML X1.0
xml:space="preserve" | Optional
Von einem XHTML-Parser wird erwartet, dass er bei der Verarbeitung des Dokuments den ganzen Leerraum aus dem Quellcode entfernt. Dadurch können Skripts beschädigt werden. Bei Angabe des XML-Namespace-Attributs space lässt der Parser bei script-Elementen Leerraum in Quellcode unversehrt.
Beispiel
    <SCRIPT type="text/javascript" xml:space="preserve">...</SCRIPT>
Wert
Konstante: preserve.
Standardwert
Keiner.