|  SELFHTML/Navigationshilfen  HTML/XHTML  Weiterführende HTML-Elemente | |
|  | Script-Bereiche in HTML | 
|   | 
 | 
|   | |







 Script-Bereich definieren
 Script-Bereich definierenSie können im Dateikopf, also zwischen <head> und </head>, oder auch innerhalb des Dateikörpers, also zwischen <body> und </body>, einen oder mehrere Script-Bereiche definieren. Innerhalb von Script-Bereichen können Sie Anweisungen der verwendeten Script-Sprache notieren.
 Anzeigebeispiel: So sieht's aus
 Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Script-Bereiche definieren</title>
<script type="text/javascript">
function Zeit () {
  var Jetzt = new Date();
  var Tag = Jetzt.getDate();
  var Monat = Jetzt.getMonth() + 1;
  var Jahr = Jetzt.getYear();
  if (Jahr < 999)
    Jahr += 1900;
  var Vortag = ((Tag < 10) ? "0" : "");
  var Vormon = ((Monat < 10) ? ".0" : ".");
  var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
  document.write("<h1>" + Datum + "<\/h1>")
}
</script>
</head>
<body>
<script type="text/javascript">
  Zeit();
</script>
<p>Aktuelle Nachrichten ...</p>
</body>
</html>
Mit <script> leiten Sie einen Script-Bereich ein, mit </script> beenden Sie den Bereich. Innerhalb des Bereichs können Sie Anweisungen der verwendeten Script-Sprache notieren. Aus Sicht von HTML wird alles, was innerhalb des Bereichs steht, als "nackter Text" betrachtet. Dabei kann es allerdings zu Konflikten zwischen einer Sprache wie JavaScript und einem streng SGML-konformen  HTML-Parser kommen. Ein solcher Parser betrachtet den Script-Bereich als beendet, sobald er auf die nächste Zeichenfolge
 HTML-Parser kommen. Ein solcher Parser betrachtet den Script-Bereich als beendet, sobald er auf die nächste Zeichenfolge </ stößt. Wenn Sie innerhalb von JavaScript diese Zeichenfolge benötigen, wie im obigen Beispiel in der letzten Anweisung, wo mit Hilfe von document.write eine Überschrift erster Ordnung ins Dokument geschrieben wird. Am Ende des ausgegebenen Textes ist dort <\/h1> notiert statt </h1>. Der Backslash dient in JavaScript dazu, ein nachfolgendes Zeichen zu maskieren, was im Beispiel an der Stelle aus JavaScript-Sicht aber keine weitere Bedeutung hat und nichts weiter bewirkt. Der Backslash ist auch nicht für den JavaScript-Interpreter gedacht, sondern für penible HTML-Parser.
Innerhalb des einleitenden <script>-Tags geben Sie mit dem Pflichtattribut type an, welche Script-Sprache Sie innerhalb des Bereichs benutzen möchten. Als Wert weisen Sie den  MIME-Typ der Script-Sprache zu. Die gängigste Angabe ist dabei
 MIME-Typ der Script-Sprache zu. Die gängigste Angabe ist dabei text/javascript für JavaScript.
Das immer noch oft genutzte Attribut language, mit dem viele Web-Designer im einleitenden <script>-Tag die Script-Sprache angeben (z.B. language="JavaScript"), wurde als veraltet ("deprecated") eingestuft und ist damit nicht in der  Strict-Variante von HTML enthalten. Die Browser erkennen Scripte mit
 Strict-Variante von HTML enthalten. Die Browser erkennen Scripte mit language="JavaScript" zwar als JavaScript, aber für modernere Browser reicht auch das Attribut type zur Erkennung der Sprache aus. Sie sollten daher möglichst auf das language-Attribut verzichten. Näheres findet Sie im Abschnitt  JavaScript-Bereiche in HTML definieren.
 JavaScript-Bereiche in HTML definieren.
Auf die Script-Befehle wird hier nicht näher eingegangen. Lesen Sie dazu das
 JavaScript-Kapitel innerhalb dieser Dokumentation.
 JavaScript-Kapitel innerhalb dieser Dokumentation.







 Noscript-Bereich definieren
 Noscript-Bereich definierenSie können einen Bereich definieren, der nur angezeigt wird, wenn die verwendete Script-Sprache nicht verfügbar ist, das Script also nicht ausführbar ist. Dies ist der Fall, wenn der Browser die Script-Sprache nicht kennt, oder wenn der Anwender das Interpretieren der Script-Sprache in den Einstellungen seines Browsers ausgeschaltet hat.
Wichtig ist eine solche Angabe beispielsweise, wenn Ihre Seiten intensiv JavaScript benutzen, um Inhalte anzuzeigen oder Verweise auszuführen. In solchen Fällen ist ein Projekt ohne JavaScript kaum nutzbar. Mit einem Noscript-Bereich können Sie einen entsprechenden Hinweis einbauen.
 Anzeigebeispiel: So sieht's aus
 Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Noscript-Bereiche definieren</title>
<script type="text/javascript">
function Zeit () {
  var Jetzt = new Date();
  var Tag = Jetzt.getDate();
  var Monat = Jetzt.getMonth() + 1;
  var Jahr = Jetzt.getYear();
  if (Jahr < 999)
    Jahr += 1900;
  var Vortag = ((Tag < 10) ? "0" : "");
  var Vormon = ((Monat < 10) ? ".0" : ".");
  var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
  document.write("<h1>" + Datum + "<\/h1>")
}
</script>
</head>
<body>
<script type="text/javascript">
  Zeit();
</script>
<noscript>
  <h1>Guten Tag!</h1>
</noscript>
<p>Aktuelle Nachrichten ...</p>
</body>
</html>
Das Beispiel enthält genau die gleichen Scripts wie weiter oben bei  Script-Bereich definieren beschrieben. Diesmal wurde jedoch zusätzlich an Browser gedacht, die kein JavaScript kennen, oder bei denen JavaScript ausgeschaltet ist. Für solche Browser wird an der Stelle, an der bei script-fähigen Browsern die script-erzeugte
 Script-Bereich definieren beschrieben. Diesmal wurde jedoch zusätzlich an Browser gedacht, die kein JavaScript kennen, oder bei denen JavaScript ausgeschaltet ist. Für solche Browser wird an der Stelle, an der bei script-fähigen Browsern die script-erzeugte h1-Überschrift mit dem aktuellen Datum eingesetzt wird, einfach eine gewöhnliche h1-Überschrift mit dem Inhalt Guten Tag! notiert.
Mit <noscript> leiten Sie einen Noscript-Bereich ein, mit </noscript> beenden Sie ihn. Dazwischen werden  Block-Elemente erwartet, also beispielsweise Überschriften, Textabsätze oder
 Block-Elemente erwartet, also beispielsweise Überschriften, Textabsätze oder div-Bereiche.
Web-Browser, die das noscript-Element kennen, zeigen den Inhalt dazwischen nur dann an, wenn der Anwender die benutzte Script-Sprache, etwa JavaScript, deaktiviert hat. Web-Browser, die gar keine Script-Sprachen kennen, kennen zwar auch das  noscript-Element nicht, aber einer alten Regel gemäß ignorieren sie die Auszeichnung einfach und zeigen den Inhalt des Elements ganz normal an.







 Weitere Angaben zum Script
 Weitere Angaben zum ScriptEs gibt in HTML eine Reihe weiterer Optionen für Script-Bereiche, die als Attribute im einleitenden <script>-Tag notiert werden können:
Mit dem Attribut src können Sie ein Script einbinden, das in einer separaten Datei notiert ist. Das ist von Vorteil, wenn Sie ein Script auf vielen Seiten verwenden wollen. Dann brauchen Sie das Script nur noch zu referenzieren, statt es jedesmal in der Datei zu notieren. Dieser Script-Bereich in der Datei sollte dann leer bleiben und kein zusätzliches lokales Script enthalten, um Probleme mit älteren Browsern zu vermeiden. Ein Beispiel für das Einbinden externer JavaScript-Dateien und genauere Hinweise dazu finden Sie im Abschnitt  JavaScript in separaten Dateien.
 JavaScript in separaten Dateien.
Wenn Sie mit src ein externes Script einbinden, können Sie zusätzlich mit dem Attribut charset die  Kodierung angeben, nach der die externe Quelle verarbeitet werden soll. Das ist beispielsweise wichtig, wenn Sie in einem Script deutsche Umlaute und Sonderzeichen nicht maskieren, z.B. bei HTML-Ausgaben. In diesem Fall können Sie
 Kodierung angeben, nach der die externe Quelle verarbeitet werden soll. Das ist beispielsweise wichtig, wenn Sie in einem Script deutsche Umlaute und Sonderzeichen nicht maskieren, z.B. bei HTML-Ausgaben. In diesem Fall können Sie charset="ISO-8859-1" angeben, um dem Browser mitzuteilen, dass er die Kodierung  ISO-8859-1 verwenden soll. Erlaubt sind Kodierungsangaben, wie sie unter der Web-Adresse
 ISO-8859-1 verwenden soll. Erlaubt sind Kodierungsangaben, wie sie unter der Web-Adresse  http://www.iana.org/assignments/character-sets angegeben sind.
 http://www.iana.org/assignments/character-sets angegeben sind.
Ein weiteres Attribut namens defer (Standalone-Attribut) soll verhindern, dass ein Script dynamisch Text schreibt. Einzelne JavaScript-Anweisungen wie document.write() werden dadurch unterbunden. Beachten Sie, dass dieses Attribut bislang jedoch nur von neueren Versionen des Internet Explorers interpretiert wird.
In der  HTML-Referenz finden Sie genaue Angaben darüber, wo die hier beschriebenen Elemente vorkommen dürfen, welche Attribute sie haben können und was bei den einzelnen Attributen zu beachten ist:
 HTML-Referenz finden Sie genaue Angaben darüber, wo die hier beschriebenen Elemente vorkommen dürfen, welche Attribute sie haben können und was bei den einzelnen Attributen zu beachten ist:
 Element-Referenz für Script-Bereiche
 Element-Referenz für Script-Bereiche
 Attribut-Referenz für Script-Bereiche
 Attribut-Referenz für Script-Bereiche
 Element-Referenz für Noscript-Bereiche
 Element-Referenz für Noscript-Bereiche
 Attribut-Referenz für Noscript-Bereiche
 Attribut-Referenz für Noscript-Bereiche
|   | |
|  |  Allgemeine Universalattribute | 
|  |  Stylesheet-Bereiche in HTML | 
|  SELFHTML/Navigationshilfen  HTML/XHTML  Weiterführende HTML-Elemente | |
© 2007  Impressum
 Impressum