»document.writeln« in JavaScript
»document.write«
Mit »document.write« kann ein Quelltext beim Laden des Dokuments direkt hinter der Position des Skriptes in ein HTML-Dokument eingefügt werden.
Main.html
<!DOCTYPE html><html lang="de">
<head><meta charset="UTF-8" /><title>Main</title><style type="text/css"></style></head><body>
<pre><code><script>
document.write( "abc" ); document.write( "def" );
</script></code></pre></body></html>
- Seiteninhalt
abcdef
Ihre Verwendung wird allgemein nicht empfohlen, aber für Testzwecken oder zur Lösung spezielle Probleme kann sie manchmal hilfreich sein.
Allgemein wird empfohlen, zur Veränderung von Dokumenten auf das DOM zuzugreifen (beispielsweise mit »getElementById« und dann »innerHTML« oder auf anderen Wegen, die später vorgestellt werden sollen).
Einige Nachteile von »document.write«:
- Kann nicht in XHMTL-Dokumenten verwendet werden. (Auch wenn einzelne Browser dies doch erlauben.)
- Es kann die Seite nur beim Laden verändern, nicht wenn später eine Veränderung an der Seite vorgenommen werden soll.
- Falls es versehentlich erst später (nach dem Laden der Seite) ausgewertet wird, kann es die Seite vollkommen ersetzen und so zerstören.
- Es kann nur verwendet werden, um an der Stelle etwas einfügen, an welcher sich das Skript befindet. Alle anderen Stellen sind unerreichbar.
- Es blockiert das weitere Laden der Seite, während es ausgewertet wird, und kann so den Ladevorgang verlangsamen.
- Wir werden später lernen, daß es als vorteilhaft angesehen wird, Skripte auszulagern und das HTML-Dokument weitgehend frei von JavaScript zu halten. Der Einbau mehrerer Skripte an alle Stellen, an die etwas mit JavaScript in das Dokument eingefügt werden soll, würde dem widersprechen.
»document.writeln«
Die Funktion »document.writeln« arbeitet wie »document.write« aber gibt nach der Ausgabe noch ein Zeilenende in den Quelltext aus (dies bedeutet nicht unbedingt auch ein Zeilenende, das in der Darstellung der Webseite im Browser sichtbar ist!).