JavaScript/DOM/Document/write

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Die Methode write() gibt Text im Dokument aus. Sie erwartet eine Zeichenkette oder einen JavaScript-Ausdruck als Parameter.

  • DOM 1.0
  • JavaScript 1.1
  • Chrome
  • Firefox
  • IE
  • Opera
  • Safari

Syntax

document.write(markup);

  • markup: Zeichenkette, die Text und HTML-Markup enthalten kann.

[Bearbeiten] Anwendungsbeispiel

Beispiel ansehen …
DeinName = prompt("Gib bitte Deinen Namen an.", "Name");
document.write("<b>Hallo " + DeinName + "<\/b>");
Das Beispiel zeigt beim Einlesen der Datei mit prompt() ein Dialogfenster an, in dem der Anwender seinen Namen eingeben soll. Der eingegebene Wert wird in der Variablen DeinName gespeichert. Anschließend wird mit document.write() das Wort "Hallo" mit einem Leerzeichen dahinter geschrieben. An die Zeichenkette angehängt wird die Variable DeinName. Dadurch steht hinterher beispielsweise "Hallo Susi" im Text, wenn in dem Dialogfenster "Susi" als Name angegeben wurde. Damit die Ausgabe in Fettschrift erfolgt, wird sie in das entsprechende HTML-Element gesetzt.

Es ist auch erlaubt, mehrere Zeichenketten oder Ausdrücke durch Kommata getrennt innerhalb von document.write() zu verwenden.


Beachten Sie: Der Schrägstrich / in schließenden HTML-Tags muss bei der Ausgabe mit dem Zeichen \ maskiert werden. Das gilt besonders dann, wenn Sie dynamisch weiteren JavaScript-Code in der Form document.write("<script>...</script>") schreiben möchten. Maskiert <script>...<\/script> geschrieben, wird der dynamisch geschriebene Script-Bereich als eigenständiger Block interpretiert, und das aktuelle Script wird unabhängig davon weiter ausgeführt.
Beachten Sie: Der Aufruf von document.write ist ausschließlich sinnvoll, wenn er synchron zum Laden eines Dokuments erfolgt. In allen anderen Fällen führt er entweder zu Fehlern oder dazu, dass das geladene Dokument durch die Ausgabe von write überschrieben wird.
Empfehlung:

Eine direkte Ausgabe von JavaScript-Werten mit document.write ist heute eher unüblich, da es den Weg zur Injektion von unerwünschtem und evtl. schädlichen Code öffnet.

Verwenden Sie getElementById um ein HTML-Element anzusprechen und es dann mit innerHTML zu füllen. Eine noch sichere Alternative ist das Erzeugen eines Textknotens mit createTextNode, in den Sie dann mit appendChild Text, aber keinen HTML-Code anhängen können.

[Bearbeiten] Weblinks

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Index
Mitmachen
Werkzeuge
Spenden
SELFHTML